2016-06-10 8 views
0

Ich versuche, eine Kamel-Route mit Rabbitmq Verbraucher innerhalb einer Transaktion zu erstellen. Ich benutze Spring Boot und Atomikos für das Tx Management. Die Rabbit MQ-Warteschlange hat bereits einen X-Dead-Letter-Exchange- und Routing-Schlüssel eingerichtet.Camel RabbitMq transaktionaler Konsument

Wie sollte ich meine Rabbitmq Connection Factory in den JTA TX Manager einbinden? Ich habe Transact Block versucht, aber es hat nicht funktioniert. Ich sehe auch keine Option in der RabbitMq-Komponente, um den tx-Manager zu setzen.

Antwort

0

Wickeln Sie Ihre RabbitMQ-Verbindungsfabrik in eine JMS-Komponente von camel. Wenn ich WebSphereMQ verwende, habe ich normalerweise ein Umbruchmuster von: JmsComponent -> Spring CachingConnectionFactory -> MQQueueConnectionFactory. Sie können Ihre Transaktionsinformationen auf der JmsComponent konfigurieren.

+0

gut camel-rabbitmq Komponente wird separat erstellt und kann nicht in JMS-Komponente verpackt werden. Obwohl camel-amqp dies unterstützt, unterstützt es leider das amqp 1.0-Protokoll und funktioniert nicht mit rabbitmq, selbst nachdem das Plugin amqp 1.0 aktiviert wurde. Ich habe diese Frage auf Rabbitmq Forum aufgeworfen. – VGaur

+0

Verwenden Sie die camel-rabbitmq-Komponente nicht direkt. Sie können die camel-jms-Komponente einfach nutzen und dann die rabbitMQ-Verbindungsfactory plugintieren –