【问题标题】:Apache Camel Shared Transaction ResourceApache Camel 共享事务资源
【发布时间】:2012-10-23 22:46:18
【问题描述】:

我有一个 Spring-Camel 应用程序,它在 Tomcat 上支持 Mysql+Hibernate。我正在尝试实现一个transacted route,它从嵌入式 ActiveMQ 队列中消费,进行一些基于 db 的重复检查并生成到另一个嵌入式 ActiveMQ 队列。

为了提供事务性,我使用了Shared Transaction Resource pattern。 Hibernate sessionFactory 和 ActiveMQ BrokerService JDBCPersistenceAdapter 使用相同的数据源。

Camel 端点使用 HibernateTransactionManager(PROPAGATION_REQUIRES_NEW)。它似乎正在工作,但我想澄清这是否是一种防弹方法,以防系统崩溃、故障,

我需要迁移到jta,2PC吗?

【问题讨论】:

    标签: spring hibernate activemq apache-camel spring-transactions


    【解决方案1】:

    我们将继续使用 XA (Atomikos)

    【讨论】:

    • 如果您要提供此决定背后的理由,也许会很有用。例如。 XA 相对于其他产品的优势。
    • JDBCPersistenceAdapter 的性能很差。继续使用 ActiveMQ (KahaDB) 的独立存储。对于这种情况,xa 是提供事务性的唯一方法。不使用 jee 容器,因此 atomikos 似乎是唯一的方法。
    猜你喜欢
    • 2021-10-10
    • 2015-10-27
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 2013-09-19
    相关资源
    最近更新 更多