此内容没有您所选择的语言版本。

Chapter 23. Configuring a service and KIE Server to send Kafka messages when a transaction is committed


You can configure KIE Server with an emitter that sends Kafka messages automatically. In this case, KIE Server sends a message every time a task, process, case, or variable is created, updated, or deleted. The Kafka message contains information about the modified object. KIE Server sends the message when it commits the transaction with the change.

You can use this functionality with any business process or case. You do not need to change anything in the process design.

This configuration is also available if you run your process service using SpringBoot.

By default, KIE Server publishes the messages in the following topics:

  • jbpm-processes-events for messages about completed processes
  • jbpm-tasks-events for messages about completed tasks
  • jbpm-cases-events for messages about completed cases

You can configure the topic names.

The published messages comply with the CloudEvents specification version 1.0. Each message contains the following fields:

  • id: The unique identifier of the event
  • type: The type of the event (process, task, or case)
  • source: The event source as a URI
  • time: The timestamp of the event, by default in the RFC3339 format
  • data: Information about the process, case, or task, presented in a JSON format

Prerequisites

  • A KIE Server instance is installed.

Procedure

  1. To send Kafka messages automatically, complete one of the following tasks:

    1. If you deployed KIE Server on Red Hat JBoss EAP or another application server, complete the following steps:

      1. Download the rhpam-7.13.5-maven-repository.zip product deliverable file from the Software Downloads page of the Red Hat Customer Portal.
      2. Extract the contents of the file.
      3. Copy the maven-repository/org/jbpm/jbpm-event-emitters-kafka/7.67.0.Final-redhat-00024/jbpm-event-emitters-kafka-7.67.0.Final-redhat-00024.jar file into the deployments/kie-server.war/WEB-INF/lib subdirectory of the application server.
    2. If you deployed the application using SpringBoot, add the following lines to the <dependencies> list in the pom.xml file of your service:

      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-event-emitters-kafka</artifactId>
        <version>${version.org.kie}</version>
      </dependency>
      Copy to Clipboard Toggle word wrap
  2. Configure any of the following KIE Server system properties as necessary:

    Expand
    Table 23.1. KIE Server system properties related to the Kafka emitter
    PropertyDescriptionDefault value

    org.kie.jbpm.event.emitters.kafka.bootstrap.servers:

    The host and port of the Kafka broker. You can use a comma-separated list of multiple host:port pairs.

    localhost:9092

    org.kie.jbpm.event.emitters.kafka.date_format:

    The timestamp format for the time field of the messages.

    yyyy-MM-dd’T’HH:mm:ss.SSSZ

    org.kie.jbpm.event.emitters.kafka.topic.processes

    The topic name for process event messages.

    jbpm-processes-events

    org.kie.jbpm.event.emitters.kafka.topic.cases

    The topic name for case event messages.

    jbpm-cases-events

    org.kie.jbpm.event.emitters.kafka.topic.tasks

    The topic name for task event messages.

    jbpm-processes-tasks

    org.kie.jbpm.event.emitters.kafka.client.id

    An identifier string to pass to the server when making requests. The server uses this string for logging.

     

    org.kie.jbpm.event.emitters.kafka.property_name

    Set any Red Hat AMQ Streams consumer or producer property by using this prefix. For example, to set a value for the buffer.memory producer property, set the org.kie.jbpm.event.emitters.kafka.buffer.memory KIE Server system property.

    This setting applies when KIE Server is configured with an emitter to send Kafka messages automatically when completing transactions.

    For a list of Red Hat AMQ Streams consumer and producer properties, see the Consumer configuration parameters and Producer configuration parameters appendixes in Using AMQ Streams on RHEL.

     

    org.kie.jbpm.event.emitters.eagerInit

    By default, KIE Server initializes the Kafka emitter only when sending a message. If you want to initialize the Kafka emitter when KIE Server starts, set this property to true.

    When KIE Server initializes the Kafka emitter, it logs any errors in Kafka emitter configuration and any Kafka communication errors. If you set the org.kie.jbpm.event.emitters.eagerInit property to true, any such errors appear in the log output when KIE Server starts.

    false

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat