Bonjour à tous,

Je cherche à mettre en place spring AOP sur mon projet. Ce projet est géré uniquement via les annotations.

J'ai créé un aspect de test (en gros, j'ai essayé de faire en sorte que l'aspect mette une trace des les logs sur l'appel d'une méthode d'un de mes services) et j'ai essayé, en vain, de l'intégrer dans mon projet.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
@Aspect
public class TestAspect{
 
   @Pointcut("execution(* com.monprojet.*.*(..))")
    public void testMethods(){}
 
   @Before("testMethods()")
   public void logMethodCall(){
      System.out.println("my test !");
   }
}
Mon ami google m'a indiqué qu'il fallait que j'indique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<aop:aspectj-autoproxy />
dans ma configuration.

Le problème est que l'ajout de cette ligne semble provoquer des erreurs au niveau de la configuration des transactions:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
	<property name="sessionFactory" ref="coreSessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="txManager" />
Lorsque je charge mon application, j'ai une très jolie (sic) "org.hibernate.SessionException: Session is closed".

Une idée sur le pourquoi du comment?
D'avance !