2.24. JTA


Java Transaction API (JTA) および Narayana トランザクションマネージャーを使用して、Camel ルートをトランザクションに含めます。

2.24.1. 含まれるもの

使用方法と設定の詳細については、上記リンクを参照してください。

2.24.2. Maven コーディネート

code.quarkus.redhat.com でこのエクステンションを使用して新しいプロジェクトの作成

または、既存のプロジェクトに座標を追加します。

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

2.24.3. 使用方法

このエクステンションは、ルーターで transacted() EIP を使用する必要がある場合に追加する必要があります。これは、Quarkus の narayana-jta エクステンションによって提供されるトランザクション機能を利用します。

トランザクションサポートの詳細は、Quarkus Transaction guide を参照してください。簡単な使用方法の場合:

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

さまざまなトランザクションポリシーのサポートが提供されます。

ポリシー説明

PROPAGATION_MANDATORY

現在のトランザクションをサポートします。現在のトランザクションが存在しない場合は例外が発生します。

PROPAGATION_NEVER

現在のトランザクションをサポートしません。現在のトランザクションが存在する場合は例外が発生します。

PROPAGATION_NOT_SUPPORTED

現在のトランザクションはサポートせず、常に非トランザクションを実行します。

PROPAGATION_REQUIRED

現在のトランザクションをサポートします。存在しない場合は新しいトランザクションを作成します。

PROPAGATION_REQUIRES_NEW

新しいトランザクションを作成し、現在のトランザクションが存在する場合はそれを一時停止します。

PROPAGATION_SUPPORTS

現在のトランザクションをサポートします。存在しない場合は、非トランザクションを実行します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.