2.31.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")
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")
为各种事务策略提供支持。
| 策略 | 描述 |
|---|---|
|
| 支持当前事务;如果没有当前事务,则抛出异常。 |
|
| 不支持当前事务;如果当前事务存在,则抛出异常。 |
|
| 不支持当前的事务,而是始终以非事务的形式执行。 |
|
| 支持当前事务;如果没有,创建一个新事务。 |
|
| 创建新的事务,如果存在,暂停当前事务。 |
|
| 支持当前事务;如果没有都存在,则执行非事务。 |