190.7. Kafka コンシューマーでの手動コミットの使用


Camel 2.21 以降で利用可能

デフォルトでは、Kafka コンシューマーは自動コミットを使用します。オフセットは、指定された間隔を使用してバックグラウンドで自動的にコミットされます。

手動コミットを強制する場合は、メッセージヘッダーに保存されている Camel Exchange の KafkaManualCommit API を使用できます。これには、KafkaComponent またはエンドポイントでオプション allowManualCommittrue に設定して、手動コミットを有効にする必要があります。次に例を示します。

Copy to Clipboard Toggle word wrap
KafkaComponent kafka = new KafkaComponent();
kafka.setAllowManualCommit(true);
...
camelContext.addComponent("kafka", kafka);

その後、Camel Processor などの Java コードから KafkaManualCommit を使用できます。

Copy to Clipboard Toggle word wrap
public void process(Exchange exchange) {
    KafkaManualCommit manual = exchange.getIn().getHeader(KafkaConstants.MANUAL_COMMIT, KafkaManualCommit.class);
    manual.commitSync();
}

これにより、同期コミットが強制され、Kafka でコミットが確認されるまでブロックされるか、失敗した場合は例外が出力されます。

KafkaManualCommit のカスタム実装を使用する場合は、カスタム実装のインスタンスを作成する KafkaComponent でカスタム KafkaManualCommitFactory を設定できます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.