我有一条骆驼路线,其中起点和终点都是jms。 我也有错误处理ON。
现在,我想用jms事务处理程序保护这个消息处理。为此我有两个选择:
transacted=true
int *out;
out=(int *) malloc(sizeof(int) * 10);
醇>
两者有什么区别?谁能告诉我哪一个更好,哪个更好?
答案 0 :(得分:2)
根据this(参见Claus Ibsen的回答)create
确保Camel处理在TX上下文中运行。如果不这样,TX上下文仅用于代理(并且仅在来自相同JMS会话的相同工作单元内)。而<transacted>
允许事务消费消息。还有一个例子,你实际上想要使用transacted=true
(从http端点消费):
<transacted>
因此,如果您只是将消息从一个JMS端点传递到同一个代理的另一个JMS端点,那么您似乎并不需要事务处理路径。