57.12. トランザクションサポート


Camel 2.19 から利用可能

Camel CDI は、JTA を使用した Camel トランザクションクライアントをサポートします。

このサポートはオプションであるため、Maven を使用する際に JTA を依存関係として明示的に追加することで、アプリケーションクラスパスに JTA が必要になります。

<dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>javax.transaction-api</artifactId>
    <scope>runtime</scope>
</dependency>
Copy to Clipboard Toggle word wrap

アプリケーションを JTA 対応コンテナーにデプロイしたり、スタンドアロンの JTA 実装を提供する必要があります。

Important

その間、トランザクションマネージャーは java:/TransactionManager キーを使用して JNDI リソースとしてルックアップされることに注意してください。

各種のデプロイメントシナリオをサポートするために、より柔軟なストラテジーが今後追加されます。

57.12.1. トランザクションポリシー

Camel CDI は、CDI Bean としてサポートされる Camel TransactedPolicy の実装を提供します。これらのポリシーをトランザクション EIP を使用して名前で検索できます。以下に例を示します。

class MyRouteBean extends RouteBuilder {

    @Override
    public void configure() {
        from("activemq:queue:foo")
            .transacted("PROPAGATION_REQUIRED")
            .bean("transformer")
            .to("jpa:my.application.entity.Bar")
            .log("${body.id} inserted");
    }
}
Copy to Clipboard Toggle word wrap

これは以下に相当します。

class MyRouteBean extends RouteBuilder {

    @Inject
    @Named("PROPAGATION_REQUIRED")
    Policy required;

    @Override
    public void configure() {
        from("activemq:queue:foo")
            .policy(required)
            .bean("transformer")
            .to("jpa:my.application.entity.Bar")
            .log("${body.id} inserted");
    }
}
Copy to Clipboard Toggle word wrap

サポートされるトランザクションポリシー名の一覧は、以下のとおりです。

  • PROPAGATION_NEVER,
  • PROPAGATION_NOT_SUPPORTED,
  • PROPAGATION_SUPPORTS,
  • PROPAGATION_REQUIRED,
  • PROPAGATION_REQUIRES_NEW,
  • PROPAGATION_NESTED,
  • PROPAGATION_MANDATORY.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat