|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : juillet 2007 Messages : 341 ![]() |
Bonjour,
J'ai plusieurs méthodes qui redéfinisse onMessage de la classe javax.jms.MessageListener Code :
J'aimerai injecter un bout de code avec l'aop dans le block Exception. Dans cette méthode, si au bout de n tentatives, le message n'a pas pu être traité, je dois insérer en base le message et le consommer pour éviter de bloquer la file. J'aimerai le faire en AOP, comment faire ? je n'arrive pas à voir comment ? Juste pour info, c'est pas au niveau de la mise en place de l'AOP qui me gène pb, mais plus au niveau du pointcut, je ne sais pas comment faire pour lui indiquer que c'est au niveau du catch merci d'avance. |
||
|
|
00
|
|
|
#2 | ||||
|
Membre régulier
![]() Inscription : juillet 2007 Messages : 341 ![]() |
en fait, j'ai modifié mon code en ajoutant un throw Exception dans la signature de la méthode onMessage.
ça fonctionne bien pour le moment. Code :
Or ce que j'aimerai aussi (en plus de l'enregistrement en base du message, c'est consommer le message... et j'ai utilisé context.getUserTransaction().commit, mais j'obtiens une erreur : Code :
Sauriez-vous comment faire pour consommer ce message et qu'il ne soit plus dans la file d'attente. Pour info, j'injecte un message bidon "ex toto" pour obtenir une exception et ainsi enregistrer ce message en base. Mais mon problème est la consommation du message. Je ne veux plus qu'il apparaisse dans la file d'attente. Merci d'avance. |
||||
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : juillet 2007 Messages : 341 ![]() |
finalement, j'ai rajouté un try catch dans la méthode onMessage.
Puis dans l'aop, je teste si j'ai une exception, si oui, j'enregistre en base. et à la fin le commit est effectué automatiquement et le message est donc consommé. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com