繁体   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