Bonjour,
Suite à mon précédent sujet, j'ai migré en Spring 4.2.2. Cela me permet d'avoir une gestion des évènements par Spring et d'utiliser @EventListener.
Je n'arrive cependant pas à faire marcher les events par cette méthode.
J'ai une méthode qui publie un event dans le ApplicationEventPublisher (dont l'implémentation injectée est XmlWebApplicationContext):
Dans une classe de service, j'ai une méthode annotée avec @EventListener:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MyEvent event = new MyEvent("test"); publisher.publishEvent(event);
L'event est publié mais il n'y a pas d'appel à ma méthode onMyEvent(). Y a t-il une configuration à faire? Dois-je obligatoirement déclarer la méthode onMyEvent() dans l'interface étant donné que Spring fonctionne avec des proxys?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 @Service public class MyServiceImpl implements IMyService { // implémentation des méthodes de l'interface @Override public MyResponse myMethod(MyRequest request) { ... } // Cette méthode n'est pas déclarée dans l'interface. @EventListener public void onMyEvent(MyEvent event) { ... } }
Pouvez-vous m'aider svp?
Partager