Package com.adaptris.kafka
Class StandardKafkaProducer
- java.lang.Object
-
- com.adaptris.core.AdaptrisMessageWorkerImp
-
- com.adaptris.core.AdaptrisMessageProducerImp
-
- com.adaptris.core.ProduceOnlyProducerImp
-
- com.adaptris.kafka.StandardKafkaProducer
-
- All Implemented Interfaces:
AdaptrisComponent
,AdaptrisMessageProducer
,AdaptrisMessageSender
,AdaptrisMessageWorker
,ComponentLifecycle
,ComponentLifecycleExtension
,MessageEventGenerator
- Direct Known Subclasses:
PartitionedKafkaProducer
@ComponentProfile(summary="Deliver messages via Apache Kafka", tag="producer,kafka", recommended=KafkaConnection.class) public class StandardKafkaProducer extends ProduceOnlyProducerImp
Wrapper aroundKafkaProducer
.In the adapter configuration file this class is aliased as standard-apache-kafka-producer which is the preferred alternative to the fully qualified classname when building your configuration.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
configFromConnection
protected org.apache.kafka.clients.producer.KafkaProducer<java.lang.String,AdaptrisMessage>
producer
-
Fields inherited from class com.adaptris.core.AdaptrisMessageWorkerImp
log
-
-
Constructor Summary
Constructors Constructor Description StandardKafkaProducer()
StandardKafkaProducer(java.lang.String recordKey, java.lang.String topic)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
close()
protected org.apache.kafka.clients.producer.KafkaProducer<java.lang.String,AdaptrisMessage>
createProducer(java.util.Map<java.lang.String,java.lang.Object> config)
protected org.apache.kafka.clients.producer.ProducerRecord<java.lang.String,AdaptrisMessage>
createProducerRecord(java.lang.String topic, java.lang.String key, AdaptrisMessage msg)
protected void
doProduce(AdaptrisMessage msg, java.lang.String topic)
java.lang.String
endpoint(AdaptrisMessage msg)
ProducerConfigBuilder
getProducerConfig()
Deprecated.since 3.7.0 use aKafkaConnection
instead.java.lang.String
getRecordKey()
java.lang.String
getTopic()
The Kafka Topic to produce tovoid
init()
void
prepare()
void
registerConnection(AdaptrisConnection conn)
void
setProducerConfig(ProducerConfigBuilder pc)
Deprecated.since 3.7.0 use aKafkaConnection
instead.void
setRecordKey(java.lang.String k)
Set the key for the generatedProducerRecord
.void
setTopic(java.lang.String topic)
The Kafka Topic to produce tovoid
start()
void
stop()
-
Methods inherited from class com.adaptris.core.ProduceOnlyProducerImp
produce, request, request
-
Methods inherited from class com.adaptris.core.AdaptrisMessageProducerImp
createName
-
Methods inherited from class com.adaptris.core.AdaptrisMessageWorkerImp
createQualifier, decode, encode, getEncoder, getIsTrackingEndpoint, getMessageFactory, getUniqueId, handleConnectionException, isTrackingEndpoint, registerEncoderMessageFactory, retrieveConnection, setEncoder, setIsTrackingEndpoint, setMessageFactory, setUniqueId, withMessageFactory, withUniqueID
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.adaptris.core.AdaptrisComponent
getUniqueId
-
Methods inherited from interface com.adaptris.core.AdaptrisMessageWorker
decode, encode, getEncoder, getMessageFactory, handleConnectionException, retrieveConnection, setEncoder, setMessageFactory
-
Methods inherited from interface com.adaptris.core.MessageEventGenerator
createQualifier, isTrackingEndpoint
-
-
-
-
Field Detail
-
producer
protected transient org.apache.kafka.clients.producer.KafkaProducer<java.lang.String,AdaptrisMessage> producer
-
configFromConnection
protected transient boolean configFromConnection
-
-
Method Detail
-
init
public void init() throws CoreException
- Throws:
CoreException
-
start
public void start() throws CoreException
- Throws:
CoreException
-
stop
public void stop()
-
close
public void close()
-
prepare
public void prepare() throws CoreException
- Throws:
CoreException
-
doProduce
protected void doProduce(AdaptrisMessage msg, java.lang.String topic) throws ProduceException
- Specified by:
doProduce
in classProduceOnlyProducerImp
- Throws:
ProduceException
-
createProducer
protected org.apache.kafka.clients.producer.KafkaProducer<java.lang.String,AdaptrisMessage> createProducer(java.util.Map<java.lang.String,java.lang.Object> config)
-
createProducerRecord
protected org.apache.kafka.clients.producer.ProducerRecord<java.lang.String,AdaptrisMessage> createProducerRecord(java.lang.String topic, java.lang.String key, AdaptrisMessage msg)
-
getProducerConfig
@Deprecated public ProducerConfigBuilder getProducerConfig()
Deprecated.since 3.7.0 use aKafkaConnection
instead.
-
setProducerConfig
@Deprecated public void setProducerConfig(ProducerConfigBuilder pc)
Deprecated.since 3.7.0 use aKafkaConnection
instead.
-
getRecordKey
public java.lang.String getRecordKey()
-
setRecordKey
public void setRecordKey(java.lang.String k)
Set the key for the generatedProducerRecord
.- Parameters:
k
-
-
registerConnection
public void registerConnection(AdaptrisConnection conn)
- Specified by:
registerConnection
in interfaceAdaptrisMessageWorker
- Overrides:
registerConnection
in classAdaptrisMessageWorkerImp
-
endpoint
public java.lang.String endpoint(AdaptrisMessage msg) throws ProduceException
- Specified by:
endpoint
in classAdaptrisMessageProducerImp
- Throws:
ProduceException
-
getTopic
public java.lang.String getTopic()
The Kafka Topic to produce to
-
setTopic
public void setTopic(java.lang.String topic)
The Kafka Topic to produce to
-
-