Package org.sdase.commons.server.kafka
Class KafkaBundle<C extends io.dropwizard.core.Configuration>
java.lang.Object
org.sdase.commons.server.kafka.KafkaBundle<C>
- All Implemented Interfaces:
io.dropwizard.core.ConfiguredBundle<C>
public class KafkaBundle<C extends io.dropwizard.core.Configuration>
extends Object
implements io.dropwizard.core.ConfiguredBundle<C>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
KafkaBundle.Builder<T extends io.dropwizard.core.Configuration>
static interface
KafkaBundle.FinalBuilder<T extends io.dropwizard.core.Configuration>
static interface
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic KafkaBundle.InitialBuilder
builder()
<K,
V> org.apache.kafka.clients.consumer.KafkaConsumer<K, V> createConsumer
(org.apache.kafka.common.serialization.Deserializer<K> keyDeSerializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeSerializer, String consumerConfigName) creates a new Kafka Consumer with deserializers and consumer config<K,
V> org.apache.kafka.clients.consumer.KafkaConsumer<K, V> createConsumer
(org.apache.kafka.common.serialization.Deserializer<K> keyDeSerializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeSerializer, ConsumerConfig consumerConfig, int instanceId) creates a new Kafka Consumer with deserializers and consumer config<K,
V> List<MessageListener<K, V>> createMessageListener
(MessageListenerRegistration<K, V> registration) Creates a number of message listeners with the parameters given in theMessageListenerRegistration
.<K,
V> org.apache.kafka.clients.producer.Producer<K, V> createProducer
(org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer, String producerConfigName) Creates a new KafkaProducer
with serializers and producer config<K,
V> org.apache.kafka.clients.producer.Producer<K, V> createProducer
(org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer, ProducerConfig producerConfig) Creates a new KafkaProducer
with serializers and producer configreturns a @ConsumerConfig
as defined in the configurationreturns a @ProducerConfig
as defined in the configurationProvides aTopicConfig
that is generated from the values within the configuration yamlvoid
initialize
(io.dropwizard.core.setup.Bootstrap<?> bootstrap) <K,
V> MessageProducer<K, V> registerProducer
(ProducerRegistration<K, V> registration) creates a @MessageProducer
based on the data in theProducerRegistration
void
-
Field Details
-
HEALTHCHECK_NAME
- See Also:
-
EXTERNAL_HEALTHCHECK_NAME
- See Also:
-
-
Method Details
-
builder
-
initialize
public void initialize(io.dropwizard.core.setup.Bootstrap<?> bootstrap) - Specified by:
initialize
in interfaceio.dropwizard.core.ConfiguredBundle<C extends io.dropwizard.core.Configuration>
-
run
- Specified by:
run
in interfaceio.dropwizard.core.ConfiguredBundle<C extends io.dropwizard.core.Configuration>
-
getTopicConfiguration
Provides aTopicConfig
that is generated from the values within the configuration yaml- Parameters:
key
- the name of the topic configuration- Returns:
- the configured topic configuration
- Throws:
ConfigurationException
- if no such topic exists in the configuration
-
createMessageListener
public <K,V> List<MessageListener<K,V>> createMessageListener(MessageListenerRegistration<K, V> registration) Creates a number of message listeners with the parameters given in theMessageListenerRegistration
.- Type Parameters:
K
- the key object typeV
- the value object type- Parameters:
registration
- the registration configuration- Returns:
- the newly registered message listeners
-
registerProducer
public <K,V> MessageProducer<K,V> registerProducer(ProducerRegistration<K, V> registration) throws ConfigurationExceptioncreates a @MessageProducer
based on the data in theProducerRegistration
if the kafka bundle is disabled, null is returned
- Type Parameters:
K
- key clazz typeV
- value clazz type- Parameters:
registration
- the configuration object- Returns:
- message producer
- Throws:
ConfigurationException
- if theregistration
has noProducerRegistration.getProducerConfig()
and there is no configuration available with the same name as defined inProducerRegistration.getProducerConfigName()
-
createConsumer
public <K,V> org.apache.kafka.clients.consumer.KafkaConsumer<K,V> createConsumer(org.apache.kafka.common.serialization.Deserializer<K> keyDeSerializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeSerializer, String consumerConfigName) creates a new Kafka Consumer with deserializers and consumer configNote: after creating a
KafkaConsumer
you must alwaysKafkaConsumer.close()
it to avoid resource leaks.- Type Parameters:
K
- Key object typeV
- Value object type- Parameters:
keyDeSerializer
- deserializer for key objects. If null, value from config or defaultStringDeserializer
will be usedvalueDeSerializer
- deserializer for value objects. If null, value from config or * default *StringDeserializer
* will be usedconsumerConfigName
- name of a valid consumer config- Returns:
- a new kafka consumer
-
createConsumer
public <K,V> org.apache.kafka.clients.consumer.KafkaConsumer<K,V> createConsumer(org.apache.kafka.common.serialization.Deserializer<K> keyDeSerializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeSerializer, ConsumerConfig consumerConfig, int instanceId) creates a new Kafka Consumer with deserializers and consumer configNote: after creating a
KafkaConsumer
you must alwaysKafkaConsumer.close()
it to avoid resource leaks.- Type Parameters:
K
- Key object typeV
- Value object type- Parameters:
keyDeSerializer
- deserializer for key objects. If null, value from config or defaultStringDeserializer
will be usedvalueDeSerializer
- deserializer for value objects. If null, value from config or * default *StringDeserializer
* will be usedconsumerConfig
- config of the consumer. If null a consumer with default config values is created.instanceId
- the id of the consumer that is appended to the client ID- Returns:
- a new kafka consumer
-
createProducer
public <K,V> org.apache.kafka.clients.producer.Producer<K,V> createProducer(org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer, ProducerConfig producerConfig) Creates a new KafkaProducer
with serializers and producer configNote: after creating a Kafka
Producer
you must alwaysProducer.close()
it to avoid resource leaks.- Type Parameters:
K
- Key object typeV
- Value object type- Parameters:
keySerializer
- deserializer for key objects. If null, value from config or defaultStringSerializer
will be usedvalueSerializer
- deserializer for value objects. If null, value from config or * default *StringSerializer
* will be usedproducerConfig
- config of the producer- Returns:
- a new kafka producer
-
createProducer
public <K,V> org.apache.kafka.clients.producer.Producer<K,V> createProducer(org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer, String producerConfigName) Creates a new KafkaProducer
with serializers and producer configNote: after creating a Kafka
Producer
you must alwaysProducer.close()
it to avoid resource leaks.- Type Parameters:
K
- Key object typeV
- Value object type- Parameters:
keySerializer
- deserializer for key objects. If null, value from config or defaultStringSerializer
will be usedvalueSerializer
- deserializer for value objects. If null, value from config or efaultStringSerializer
will be usedproducerConfigName
- name of the producer config to be used- Returns:
- a new kafka producer
-
getConsumerConfiguration
returns a @ConsumerConfig
as defined in the configuration- Parameters:
name
- name of the consumer in the configuration- Returns:
- Consumer Configuration
- Throws:
ConfigurationException
- when the configuration does not exist
-
getProducerConfiguration
returns a @ProducerConfig
as defined in the configuration- Parameters:
name
- name of the producer in the configuration- Returns:
- Producer Configuration
- Throws:
ConfigurationException
- when the configuration does not exist
-