ok, c'est assez. Je ne pouvais pas faire ce travail. Je suis un débutant aux transactions de printemps et en utilisant l'annotation @Transactional dans mon service pour gérer les transactions. Ci-dessous est mon fichier de configuration de bean printemps.@ L'annotation transactionnelle ne fonctionne pas
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/myapp"/>
<!-- other <bean/> definitions here -->
</beans>
et j'annoter mon service:
@Transactional
public class MyServiceImpl implements MyService {
...
}
Je remarque deux choses
- La connexion que je reçois dans mon DAO [en utilisant DataSourceUtils.getConnection (dsName)] a le autocommit enabled [true].
- Dans la mesure où j'ai débogué, il ne semble pas y avoir de transaction qui a commencé pendant l'appel de ma méthode de service.
Quelqu'un a eu ce problème?
Juste pour être sûr: votre 'MyServiceImpl' est un bean Spring et non créé par' new', oui? – axtavt
yep, son injection par le biais du printemps – santhakr
santhakr: Une autre question - est votre 'MyServiceImpl' déclaré dans le même contexte d'application où vous avez' '? –
axtavt