【问题标题】:Apache Camel - transaction in routesApache Camel - 路由中的事务
【发布时间】:2014-04-24 22:13:09
【问题描述】:

我有一个关于 Apache Camel 的一般性问题。我无法找到聚合器是否已交易。如果进行交易,交易是如何实现的,聚合速度有多快?

【问题讨论】:

    标签: java apache-camel


    【解决方案1】:

    将消息发送到聚合器可以在事务中运行。

    您需要一个带有聚合器的持久存储,以让传出消息充当事务。请参阅有关持久性的文档 http://camel.apache.org/aggregator2

    例如,有一个开箱即用的基于 JDBC 和 HawtDB(基于文件)的持久支持。它是可插拔的,您也可以构建您的自定义。

    Camel in Action 一书的第 8 章和第 9 章更详细地讨论了这一点。

    【讨论】:

    • 如果我想从 JMS 队列中读取消息,处理它们,然后在出现错误时返回到同一个队列,该怎么办。持久存储不能这样做,对吗?
    • 没有 JMS 队列不适合作为聚合消息的持久存储。存储需要支持当前正在聚合的消息,以及已完成的聚合消息,但当前正在运行等。但是有一个可插入的 API,因此欢迎您自己编写自定义存储
    猜你喜欢
    • 2016-09-29
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2018-02-14
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多