第20章 プロセスから Kafka メッセージを送受信するための KIE Server の設定

Kafka メッセージを送受信するプロセスを実行するには (カスタムタスクを使用する場合を除く)、KIE Server を使用する必要があります。Red Hat AMQ Streams と統合するように、この KIE Server を設定する必要があります。

手順

  1. Red Hat AMQ Streams との統合を有効にするには、お使いの環境に応じて以下のシステムプロパティーを設定します。

    • Red Hat JBoss EAP で KIE Server を使用している場合は、KIE Server の org.kie.kafka.server.ext.disabled システムプロパティーを false に設定します。
    • Spring Boot を使用している場合は、kieserver.kafka.enabled システムプロパティーを true に設定します。
  2. Kafka ブローカーへの接続を設定するには、org.kie.server.jbpm-kafka.ext.bootstrap.servers システムプロパティーをブローカーのホストおよびポートに設定します。デフォルト値は localhost:9092 です。複数の host:port ペアのコンマ区切りリストを使用できます。
  3. 必要に応じて、以下のシステムプロパティーを設定して、Kafka メッセージの送受信を設定します。

    • org.kie.server.jbpm-kafka.ext.client.id: 要求の実行時にブローカーに渡す ID 文字列。Red Hat AMQ Streams では、この文字列を使用してロギングを行います。
    • org.kie.server.jbpm-kafka.ext.topics.*: メッセージ名からトピック名へのマッピング。たとえば、ExampleName がメッセージの名前で、ExampleTopic トピックでメッセージを送受信する場合は、org.kie.server.jbpm-kafka.ext.topics.ExampleName システムプロパティーを ExampleTopic に設定します。このようなシステムプロパティーはいくつでも設定できます。メッセージ名がシステムプロパティーを使用してマップされていない場合、プロセスエンジンはこの名前をトピック名として使用します。
  4. 必要に応じて、以下のシステムプロパティーを設定して、Kafka メッセージの受信を設定します。

    • org.kie.server.jbpm-kafka.ext.allow.auto.create.topics: 自動トピック作成を許可します。デフォルトでは有効です。
    • org.kie.server.jbpm-kafka.ext.group.id: この Kafka メッセージコンシューマーが属するグループを識別する一意の文字列。デフォルト値は jbpm-consumer です。
  5. 必要に応じて、以下のシステムプロパティーを設定して、Kafka メッセージの送信を設定します。

    • org.kie.server.jbpm-kafka.ext.acks: 要求を完了としてマークする前に Kafka リーダーが受信する必要がある確認応答の数。デフォルト値は 1 です。これは、リーダーがレコードをローカルログに書き込み、すべてのフォロワーからの完全な確認応答を待たずに、プロセスエンジンに応答することを意味します。
    • org.kie.server.jbpm-kafka.ext.max.block.ms: パブリッシュメソッドがブロックするミリ秒数。この時間が経過すると、プロセスエンジンはビジネスプロセスの実行を再開できます。デフォルト値は 2000 (2 秒) です。