2.40. JTA


使用 Java 事务 API(JTA)和 Narayana 事务管理器将 Camel 路由包含在事务中

2.40.1. 内部

有关用法和配置详情,请参阅上面的链接。

2.40.2. Maven 协调

在 code.quarkus.redhat.com 上使用此扩展创建一个新项目

或者在现有项目中添加协调:

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jta</artifactId>
</dependency>

2.40.3. 使用

当您需要使用路由器中的 transacted() EIP 时,应该添加此扩展。它利用 Quarkus 中的 narayana-jta 扩展提供的事务功能。

有关事务支持的详情,请参阅 Quarkus 事务指南。对于简单用法:

from("direct:transaction")
    .transacted()
    .to("sql:INSERT INTO A TABLE ...?dataSource=ds1")
    .to("sql:INSERT INTO A TABLE ...?dataSource=ds2")
    .log("all data are in the ds1 and ds2")

为各种事务策略提供支持。

策略Description

PROPAGATION_MANDATORY

支持当前的事务;如果不存在当前事务,则抛出异常。

PROPAGATION_NEVER

不支持当前的事务 ; 如果当前事务存在,则抛出异常。

PROPAGATION_NOT_SUPPORTED

不支持当前的事务,而总是以非事务方式执行。

PROPAGATION_REQUIRED

支持当前的事务 ; 如果不存在,创建一个新事务。

PROPAGATION_REQUIRES_NEW

创建一个新事务,挂起当前事务(如果存在)。

PROPAGATION_SUPPORTS

支持当前的事务 ; 如果不存在,以非交易方式执行。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.