【问题标题】:Camel transaction demarcation骆驼交易划界
【发布时间】:2015-11-18 16:44:36
【问题描述】:

我有以下路线:

from("jms:some-queue")  
  .transacted("txPolicy")       
    .beanRef("bean1", "method1")
    .beanRef("bean2", "method2")
    .beanRef("bean3", "method3")
    .beanRef("bean4", "method4")

我想让beanRef("bean4", "method4")在事务之外运行。有什么建议可以在骆驼路线中实现吗?

我知道可以将单个 bean 标记为 @Transactional,但我不想更改 bean

【问题讨论】:

    标签: java spring transactions apache-camel spring-transactions


    【解决方案1】:

    创建 2 条路由并将它们与direct 链接:

    from("jms:some-queue")  
      .transacted("txPolicy")       
        .beanRef("bean1", "method1")
        .beanRef("bean2", "method2")
        .beanRef("bean3", "method3")
        .to("direct:bean4.method4")
    
    from("direct:bean4.method4")
        .beanRef("bean4", "method4")
    

    编辑:意识到这并没有解决

    对实施这条骆驼路线有什么建议吗?

    【讨论】:

    • 谢谢,如果无法在路线内划定界限,那么我会考虑按照上述方法创建一个单独的路线。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多