2010-11-08 29 views
3

J'essaye de configurer des transactions en utilisant des annotations. Lorsque je cours dans un environnement où le temps de chargement est activé (par exemple, tc server ou tomcat avec le classloader), il semble que mon interception de transaction soit gérée par aspectj, mais comme elle n'est pas complètement configurée, elle ne fonctionne pas (I obtenez un message "Skipping transactional joinpoint [<method name>] because no transaction manager has been configured"). Mes paramètres de configuration indiquent <tx:annotation-driven mode="proxy" transaction-manager="transactionManager" />. Ceux-ci devraient tous être par défaut, mais je spécifie explicitement le mode proxy et le mode aspectj. Si je passe en mode aspectj cela fonctionne, mais notre environnement de production n'a pas LTW activé et je préférerais utiliser le mode proxy partout.spring tx: annotation-driven ignore le mode lorsque le chargement du temps de chargement est activé dans tomcat

Une idée de ce qui se passe? Je suis sur Spring 3.0.5, et j'utilise le HibernateTransactionManager.

Répondre

1

Vous devez définir le bean transactionManager dans votre fichier XML printanier.

<bean id="transactionManager" 
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
    <property name="dataSource" ref="dataSource" /> 
</bean>