java - Camel 交易定界

标签 java spring transactions apache-camel spring-transactions

我有以下路线:

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

我想让 beanRef("bean4", "method4") 在事务之外运行。有什么建议可以在 Camel route 实现这一点吗?

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

最佳答案

创建 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")

编辑:意识到这并不能解决

Any suggestions to implement this withing camel route?

关于java - Camel 交易定界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33785666/

相关文章:

php - 事务回滚不起作用

ios - 在sqlite中是否必须使用“END TRANSACTION”

java - SCIM 模式映射到 LDAP

JavaFX - 尺寸的 CSS 变量?

java - 为什么 Java 在 While 循环中跳过我的 If 语句?

java - 在 Spring 中读取 jar 中存在的配置文件

Spring Jpa 规范和预加载

java - Jersey:将 Spring 组件注入(inject) ContainerRequestFilter

java - 在字符串之间添加 n-1 个逗号

transactions - 具有事务支持的 JavaFX TableView