Spring3's @Transactional @Scheduled no comprometido con DB?

Esta es la primera vez que intento SpringS's @Scheduled, pero descubrí que no puedo comprometerme con DB. Este es mi código:

@Service
public class ServiceImpl implements Service , Serializable
{
  @Inject 
  private Dao dao;

  @Override
  @Scheduled(cron="0 0 * * * ?") 
  @Transactional(rollbackFor=Exception.class)
  public void hourly()
  {
    // get xxx from dao , modify it
    dao.update(xxx);
  }
}

Creo que debería funcionar, puedo ver que se inicia cada hora y cargar xxx desde la base de datos, pero los datos no se confirman en la base de datos.

Ha habidotx:annotation-driven en xml de primavera:

<bean id="entityManagerFactoryApp" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
  <property name="persistenceUnitName" value="myapp"/>
</bean>
<bean id="transactionManagerApp" class="org.springframework.orm.jpa.JpaTransactionManager">
  <property name="entityManagerFactory" ref="entityManagerFactoryApp" />
</bean>

<tx:annotation-driven transaction-manager="transactionManagerApp" />

¿Alguien puede decirme lo que me perdí aquí?

Tengo uno 'suci 'solución:

@Service
public class ServiceImpl implements Service , Serializable
{
  @Inject 
  private Dao dao;

  @Inject
  @Qualifier("transactionManagerApp")
  private PlatformTransactionManager txMgrApp;

  @Override
  @Scheduled(cron="0 0 * * * ?")
  @Transactional(rollbackFor=Exception.class)
  public void hourly()
  {
    final TransactionTemplate txTemplateApp = new TransactionTemplate(txMgrApp);
    txTemplateApp.execute(new TransactionCallbackWithoutResult()
    {
      @Override
      protected void doInTransactionWithoutResult(TransactionStatus status)
      {
        //get xxx from dao
        dao.update(xxx);
      }
    });
  }
}

Esofunciona bie aquí, pero es tan redundante, que hace que el código sea más difícil de leer. Me pregunto porqueTransactionManager no se inyecta (y abierto) en los fragmentos de código anteriores?

Muchas gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta