【发布时间】:2019-10-12 18:07:25
【问题描述】:
我正在设置一个项目,其中 JMS 的批量提交必须一次性完成。使用事务重新启动消息处理,因此需要考虑如何将“x”条消息推送到 JMS 队列并执行 JMS 提交。
目前正在做的是创建一个 JMS 消息,该消息附加了一个长字符串,并附有我希望一次性提交的消息。 然后使用拆分器将消息拆分为另一个路由中的多个。 最后,使用另一个路由将消息发送到 JMS(作为批量提交)。
<route>
<from uri="file:sample"/>
<split streaming="true">
<tokenize token="\n"/>
<to uri="activemq:queue:dest"/>
</split>
</route>
我希望构建一个路由来控制何时发出 JMS 提交。
用例试图从队列 A 中读取一条消息并创建许多消息(让该数字为“x”)。并将它们推送到队列 B。但是,我希望像 DB 一样进行批量提交(或批量提交)。我正在努力提高效率,不创建与 JMS 的连接并进行单独的提交。
【问题讨论】:
-
因此,您想启动一个事务,发送多条消息,然后执行一次提交。对吗?
-
是的,这正是我的要求。
标签: xml apache-camel jms