2017-07-24 2 views
0

J'ai un problème lors de l'utilisation du composant Apache Commons JMS. Si j'utilise le pattern d'échange InOut pour mettre le message dans la file d'attente et que le serveur JMS est arrêté, je reçois le fichier java.net.ConnectException avec des tentatives de récupération toutes les 5000 ms. Je suppose que Camel crée implicitement un point de terminaison consommateur pour écouter la file d'attente replyTo, donc je ne suis pas sûr s'il est possible de désactiver ce comportement.Composant JMS - ConnectException pour le modèle InOut

Y a-t-il un moyen de désactiver la récupération dans ce cas?

Répondre

0

Vous trouverez ci-dessous une route à dos de chameau. J'espère que cela résout votre problème.

from("jms:queue:TEST?disableReplyTo=true") 
    .setExchangePattern(ExchangePattern.InOut) 
    /*Do Processing*/ 
    .inOnly("jms:queue:TEST") 
0

Parce que le modèle actuel d'échange de messages est InOut JMS Component attend un message de réponse. Si vous souhaitez envoyer un message "fire-and-forget" au composant JMS, vous devez d'abord changer le MEP en InOnly.

Exemple:

.to(ExchangePattern.InOnly, "activemq:somequeue")