Here are some tips, including the required configurations and code samples, to help you implement a Kafka producer in Java.Documentation Index
Fetch the complete documentation index at: https://docs.flowx.ai/llms.txt
Use this file to discover all available pages before exploring further.
Required dependencies
Ensure that you have the following dependencies in your project:Configuration
Ensure that you have the following configuration in yourapplication.yml or application.properties file:
Code sample for a Kafka producer
Kafka headers
Understanding Kafka headers in FlowX Integration
When integrating with FlowX Engine via Kafka, headers play a crucial role in message routing and processing. It’s essential to preserve and include all received headers in responses back to the FlowX Engine.Important headers
| Header | Purpose | Consequences If Missing |
|---|---|---|
fxContext | Identifies the target process/subprocess in the hierarchy | Messages may be incorrectly routed or not processed |
Fx-AppId | Identifies the application processing the message | Application context may be lost |
Fx-RootAppId | Identifies the original application that initiated the process chain | Process origin tracking may be lost; important for complex process hierarchies |
Fx-BuildId | Contains the build identifier for versioning and traceability | Version-specific behaviors may be affected; debugging becomes more difficult |
processInstanceId/processInstanceUuid | Primary keys for message correlation | Message correlation may fail |
Fx-ProcessName | Required for cross-process communication | ”Start another process via Kafka” functionality may break |
The fxContext header explained
ThefxContext header is particularly important for routing messages in architectures with embedded processes and subprocesses:
- For kafka-receive nodes in the root process:
fxContext = "main" - For an embedded subprocess with nodeId=4:
fxContext = "main:4" - For an embedded sub-subprocess with nodeId=12:
fxContext = "main:4:12"
Understanding Fx-RootAppId
TheFx-RootAppId header is used to track the originating application throughout the entire process chain. This is particularly important when:
- Multiple applications are involved in a workflow
- Processes spawn subprocesses across different components
- You need to trace a complete transaction back to its originating application
Fx-AppId which may change as a message passes through different components, Fx-RootAppId preserves the original initiator’s identity.
Best Practices
- Preserve All Headers: Always include all received Kafka headers in responses to the FlowX Engine.

