Transação da Spring AOP não cometendo a transação
-
26-09-2019 - |
Pergunta
Estou usando a primavera 3.0.3, mybatis 3.0.2 e mybatis-spring 1.0.0 no apache tomcat 6.0.29.
Eu usei transações declarativas de primavera para gerenciamento de transações. A questão é que as transações não estão funcionando para mim. A transação só funciona uma vez e depois de nada.
Eu tentei verificar todas as minhas configurações, mas nenhuma pista. Algum indicador?
Minhas configurações se parecem com isso -
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="dtxops"
expression="execution(* com.service.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="dtxops" />
</aop:config>
Editar depois do comentário -------------
Eu inicio o servidor e executo alguma funcionalidade transacional e algumas vezes ele funciona e algumas vezes não. Às vezes, continua trabalhando por 5-6 vezes e, de repente, para.
TX Manager e DS Config -
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="resourceRef" value="true" />
<property name="jndiName" value="java:comp/env/jdbc/MyDBInstance" />
</bean>
Solução
Você configurou seu DataSource na primavera ou no tomcat? (Tomcat tem uma configuração padrão estranha que o automobilismo comete após cada afirmação que eu acho que dificulta a execução de um DataSourCetransactionManager no topo)