The Kafka Listener starts Transactions from messages consumed from a Kafka server.
On the Basic configuration tab, you should specify:
Server URLs: the URLs of the Kafka servers to consume from. Corresponds to option ‘bootstrap.servers’.
Topic Names: a list of the topics to subscribe this consumer to.
Group ID: the group ID of this consumer (if required). Corresponds to ‘group.id’ option.
Polling Interval (ms): time (in minutes) to wait in the poll if data is not available in the buffer.
Session Timeout (ms): time (in minutes) before timing out the broker connection. Corresponds to ‘session.timeout.ms’ option.
Heartbeat Interval (ms): time (in minutes) between heartbeats to the consumer coordinator. Corresponds to ‘heartbeat.interval.ms’ option.
Auto-commit Transactions: Select if transactions should be automatically committed when executed. Corresponds to ‘enable.auto.commit’ option.
Auto-commit Interval (ms): time (in minutes) between auto-commits, if auto-commit transactions is selected. Corresponds to ‘auto.commit.interval.ms’ option.
The Advanced tab allows you to specify:
Initialize on trigger only: If enabled, the Listener doesn’t start up until a trigger initializes it.
Allow command-line invocation: If enabled, the listener can be invoked using the CLI client application.
Restart on listening error: If enabled, the listener will be restarted after an error occurs.
FIFO Queue Name: The FIFO field enables a “First In, First Out” queuing mechanism between Listeners and Transports. If a “FIFO Queue Name” is provided, that name will be used as a key for a queue Transactions & will be pushed into before reaching a transport. They’ll be ordered in this queue according to when the Listener created them.
FIFO Queue Delay: It is the interval between updates/checks against that queue. Providing a queue name guarantees that a given Transport sends transactions in the same order the Listener created them in.
Minimum Fetch Size: The minimum number of bytes the server should return with each request. Corresponds to fetch.min.bytes option.
Maximum Fetch Size: The maximum number of bytes per-partition the server will return. Corresponds to max.partition.fetch.bytes option.
Additional Configurations: Any additional configurations can be entered here in key / value Format.
Transaction Logging: This tab allows us to enable transaction events logging. That data can be logged by a TransactionEventListener.
The Transaction Logging Enable: This checkbox allows transaction events originating from this listener to be logged by a TransactionEventListener.
Log Transaction Data: If enabled, logs transaction data body.
Log Transaction Data Base64: If enabled, logs transaction data body as Base64.
Log Transaction Attribute: If enabled, logs transaction attributes.
Log All Attributes: If enabled, no attributes will be filtered.
Allowed Attributes: Attributes which are allowed to be logged.