簡體   English   中英

在Apache駱駝中使用JMS路由時,事務性客戶端和transacted = true有什么區別?

[英]What is the difference between a transactional client and transacted=true when using a JMS route in apache camel?

我有一條駱駝路線,起點和終點均為jms。 我也有錯誤處理。

現在,我想使用jms事務處理程序來保護此消息處理。 為此,我有兩個選擇:

  1. 無論是配置為使用路線如圖所示這里
  2. 或者只是配置JMS端點使用transacted=true如圖所示這里

兩者有什么區別? 誰能告訴我哪個更好,使用哪個?

根據這個 (見克勞斯易卜生的回答) <transacted>確保駱駝處理的TX上下文內運行。 在沒有上下文的情況下,TX上下文僅用於代理(並且僅在同一JMS會話的同一工作單元內)。 transacted=true使事務能夠消耗消息。 這里還有一個示例,您實際在何處要使用<transacted> (從http端點使用):

from jetty:http
transacted
to jms
to file

因此,如果您只是將消息從一個JMS端點傳遞到同一代理上的另一個端點,似乎您實際上並不需要事務處理路由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM