Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

Property Name

Description

RequiredDefault Value
kafka.clientsComma-delimited list of Kafka endpoints.
A separate configuration section for each listed client should be specified
Y

Generic Kafka parameters

These parameters are applied to all producer and consumer endpoints

kafka.[kafka_properties]

This section may include multiple options, which are applied to all producer and consumer endpoints. As a [kafka_property] may be used any key from Kafka Producer Configs or Kafka Consumer Config.

For example, it's a good section to define a bootstrap server for all endpoints:

kafka.bootstrap.servers=localhost:9092

N
Generic Kafka Producer parameters
kafka.producer.key.serializerThe serializer class for a record key that implements the com.epam.fej.kafka.KafkaEndpointKeySerializer interface.N
kafka.producer.value.serializerThe serializer class for a record value that implements the com.epam.fej.kafka.KafkaEndpointValueSerializer interface.N
kafka.producer.[kafka_properties]

This section may include multiple options, which are applied to all producer endpoints. As a [kafka_property] may be used any key from Kafka Producer Configs.

N
Kafka Producer parameters


kafka.producer.[ClientName].client.id

The ID string to pass to the server when making requests. The purpose of this is to be able to track the source of requests beyond just IP/port by allowing a logical application name to be included in server-side request logging.

Y
kafka.producer.[ClientName].topicThe topic for publishing by the given Kafka producer endpoint.Y
kafka.producer.[ClientName].async.sending

Defines the sending mode for this producer endpoint.

If the value is true, the endpoint sends data asynchronously.

If the value is false, it waits for confirmation from the Kafka broker for every sent message.

Nfalse
kafka.producer.[ClientName].key.serializerThe serializer class for a record key that implements the com.epam.fej.kafka.KafkaEndpointKeySerializer interface.Y, if the kafka.producer.key.serializer property is not defined
kafka.producer.[ClientName].value.serializerThe serializer class for a record value that implements the com.epam.fej.kafka.KafkaEndpointValueSerializer interface.Y, if the kafka.producer.value.serializer property is not defined
kafka.producer.[ClientName].groupsThe list of groups for routingN
kafka.producer.[ClientName].startOnloadSpecifies whether a producer should be started during the FIXEdge Java server initialization.Ntrue
kafka.producer.[ClientName].startTimeA cron expression that defines a producer's start time.N
kafka.producer.[ClientName].stopTimeA cron expression that defines a producer's stop time.N
kafka.producer.[ClientName].scheduleTimeZoneA time zone for the start and stop timesN
kafka.producer.[ClientName].[kafka_properties]This section may include multiple options, which are applied to all producer endpoints. As a [kafka_property] may be used any key from Kafka Producer Configs.N
Generic Kafka Consumer parameters
kafka.consumer.key.deserializerThe deserializer class for a record key that implements the com.epam.fej.kafka.KafkaEndpointKeyDeserializer interface.N
kafka.consumer.value.deserializerThe deserializer class for a record value that implements the com.epam.fej.kafka.KafkaEndpointValueDeserializer interface.N
kafka.consumer.[kafka_properties]

This section may include multiple options that , which are applied to all producer endpoints. Any key from Kafka Consumer Configs may be used as a As a [kafka_property] may be used any key from Kafka Consumer Configs.

N
Kafka Consumer parameters
kafka.consumer.[ClientName].client.idThe ID string to pass to the server when making requests. The purpose of this is to be able to track the source of requests beyond just an ipIP/port by allowing a logical application name to be included in server-side request logging.Y
kafka.consumer.[ClientName].topicsThe list of topics to subscribe toY, if if the kafka.consumer.[ClientName].topics.regexp  property is not defined
kafka.consumer.[ClientName].topics.regexpThe pattern to subscribe toY, if if the  kafka.consumer.[ClientName].topics  property is not defined
kafka.consumer.[ClientName]The time, in milliseconds, that a which consumer spends waiting in the polling procedure if data is not available in the buffer. If 0, it returns immediately with any records that are available currently in the buffer. Otherwise, it else returns empty. The value must Must not be negative.N200
kafka.consumer.[ClientName].key.deserializerThe deserializer class for a record key that implements the com.epam.fej.kafka.KafkaEndpointKeyDeserializer interface.Y, if if the kafka.consumer.key.deserializer  property is not defined
kafka.consumer.[ClientName].value.deserializerThe deserializer class for a record value that implements the com.epam.fej.kafka.KafkaEndpointValueDeserializer interface.Y, if if the kafka.consumer.value.deserializer  property is not defined
kafka.consumer.[ClientName].groupsThe list of groups for routingN
kafka.consumer.[ClientName].startOnloadSpecifies whether a consumer should be started during FIXEdge Java server initialization.Ntrue
kafka.consumer.[ClientName].startTimeA cron expression that defines a consumer's start time.N
kafka.consumer.[ClientName].stopTimeA cron expression that defines a consumer's stop time.N
kafka.consumer.[ClientName].scheduleTimeZoneA time zone for the start and stop timesN
kafka.consumer.[ClientName].[kafka_properties]This section may include multiple options that , which are applied to all producer endpoints. Any key from Kafka Consumer Configs may be used as As [kafka_property] may be used any key from Kafka Consumer Configs.N

For the full list of Kafka properties refer to the Kafka official documentation.

NOTE: The FIX session can be started or stopped only if scheduling is applied. Otherwise, the session will be inactive. Refer to the Scheduler section where the session start procedure is specifiedAll defined Kafka endpoints are started automatically during FIXEdge Java server initialization by default if there is a defined schedule for them (starting from FEJ 1.8.0). The schedule may be defined by startTime/stopTime properties or within a separate schedule configuration. Refer to the Scheduler section for more details.

NOTE: All changes in the properties file are applied only after FixEdge the FIXEdge Java server restart.

Sample configuration

...