public class ContainerProperties
extends java.lang.Object
Constructor and Description |
---|
ContainerProperties(java.util.regex.Pattern topicPattern) |
ContainerProperties(java.lang.String... topics) |
ContainerProperties(TopicPartitionInitialOffset... topicPartitions) |
Modifier and Type | Method and Description |
---|---|
int |
getAckCount() |
AbstractMessageListenerContainer.AckMode |
getAckMode() |
long |
getAckTime() |
java.lang.String |
getClientId()
Return the client id.
|
org.apache.kafka.clients.consumer.OffsetCommitCallback |
getCommitCallback() |
LogIfLevelEnabled.Level |
getCommitLogLevel()
The level at which to log offset commits.
|
org.apache.kafka.clients.consumer.ConsumerRebalanceListener |
getConsumerRebalanceListener() |
org.springframework.core.task.AsyncListenableTaskExecutor |
getConsumerTaskExecutor() |
GenericErrorHandler<?> |
getGenericErrorHandler() |
java.lang.String |
getGroupId() |
java.lang.Long |
getIdleEventInterval() |
java.lang.Object |
getMessageListener() |
int |
getMonitorInterval() |
float |
getNoPollThreshold() |
long |
getPollTimeout() |
org.springframework.scheduling.TaskScheduler |
getScheduler() |
long |
getShutdownTimeout() |
TopicPartitionInitialOffset[] |
getTopicPartitions() |
java.util.regex.Pattern |
getTopicPattern() |
java.lang.String[] |
getTopics() |
org.springframework.transaction.PlatformTransactionManager |
getTransactionManager() |
boolean |
isAckOnError() |
boolean |
isLogContainerConfig()
Log the container configuration if true (INFO).
|
boolean |
isSyncCommits() |
void |
setAckCount(int count)
Set the number of outstanding record count after which offsets should be
committed when
AbstractMessageListenerContainer.AckMode.COUNT or AbstractMessageListenerContainer.AckMode.COUNT_TIME is being used. |
void |
setAckMode(AbstractMessageListenerContainer.AckMode ackMode)
Set the ack mode to use when auto ack (in the configuration properties) is false.
|
void |
setAckOnError(boolean ackOnError)
Set whether or not the container should commit offsets (ack messages) where the
listener throws exceptions.
|
void |
setAckTime(long ackTime)
Set the time (ms) after which outstanding offsets should be committed when
AbstractMessageListenerContainer.AckMode.TIME or AbstractMessageListenerContainer.AckMode.COUNT_TIME is being used. |
void |
setBatchErrorHandler(BatchErrorHandler errorHandler)
Set the batch error handler to call when the listener throws an exception.
|
void |
setClientId(java.lang.String clientId)
Set the client id; overrides the consumer factory client.id property.
|
void |
setCommitCallback(org.apache.kafka.clients.consumer.OffsetCommitCallback commitCallback)
Set the commit callback; by default a simple logging callback is used to log
success at DEBUG level and failures at ERROR level.
|
void |
setCommitLogLevel(LogIfLevelEnabled.Level commitLogLevel)
Set the level at which to log offset commits.
|
void |
setConsumerRebalanceListener(org.apache.kafka.clients.consumer.ConsumerRebalanceListener consumerRebalanceListener)
Set the user defined
ConsumerRebalanceListener implementation. |
void |
setConsumerTaskExecutor(org.springframework.core.task.AsyncListenableTaskExecutor consumerTaskExecutor)
Set the executor for threads that poll the consumer.
|
void |
setErrorHandler(ErrorHandler errorHandler)
Set the error handler to call when the listener throws an exception.
|
void |
setGroupId(java.lang.String groupId)
Set the group id for this container.
|
void |
setIdleEventInterval(java.lang.Long idleEventInterval)
Set the idle event interval; when set, an event is emitted if a poll returns
no records and this interval has elapsed since a record was returned.
|
void |
setLogContainerConfig(boolean logContainerConfig)
Set to true to instruct each container to log this configuration.
|
void |
setMessageListener(java.lang.Object messageListener)
Set the message listener; must be a
MessageListener
or AcknowledgingMessageListener . |
void |
setMonitorInterval(int monitorInterval)
The interval between checks for a non-responsive consumer in
seconds; default .
|
void |
setNoPollThreshold(float noPollThreshold)
If the time since the last poll /
poll timeout
exceeds this value, a NonResponsiveConsumerEvent is published. |
void |
setPollTimeout(long pollTimeout)
Set the max time to block in the consumer waiting for records.
|
void |
setScheduler(org.springframework.scheduling.TaskScheduler scheduler)
A scheduler used with the monitor interval.
|
void |
setShutdownTimeout(long shutdownTimeout)
Set the timeout for shutting down the container.
|
void |
setSyncCommits(boolean syncCommits)
Set whether or not to call consumer.commitSync() or commitAsync() when the
container is responsible for commits.
|
void |
setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
Set the transaction manager to start a transaction; only
AbstractMessageListenerContainer.AckMode.RECORD and
AbstractMessageListenerContainer.AckMode.BATCH (default) are supported with transactions. |
java.lang.String |
toString() |
public ContainerProperties(java.lang.String... topics)
public ContainerProperties(java.util.regex.Pattern topicPattern)
public ContainerProperties(TopicPartitionInitialOffset... topicPartitions)
public void setMessageListener(java.lang.Object messageListener)
MessageListener
or AcknowledgingMessageListener
.messageListener
- the listener.public void setAckMode(AbstractMessageListenerContainer.AckMode ackMode)
#setPollTimeout(long) pollTimeout
.AcknowledgingMessageListener
.
ackMode
- the AbstractMessageListenerContainer.AckMode
; default BATCH.public void setPollTimeout(long pollTimeout)
pollTimeout
- the timeout in ms; default .public void setAckCount(int count)
AbstractMessageListenerContainer.AckMode.COUNT
or AbstractMessageListenerContainer.AckMode.COUNT_TIME
is being used.count
- the countpublic void setAckTime(long ackTime)
AbstractMessageListenerContainer.AckMode.TIME
or AbstractMessageListenerContainer.AckMode.COUNT_TIME
is being used. Should be
larger thanackTime
- the timepublic void setErrorHandler(ErrorHandler errorHandler)
errorHandler
- the error handler.public void setBatchErrorHandler(BatchErrorHandler errorHandler)
errorHandler
- the error handler.public void setConsumerTaskExecutor(org.springframework.core.task.AsyncListenableTaskExecutor consumerTaskExecutor)
consumerTaskExecutor
- the executorpublic void setShutdownTimeout(long shutdownTimeout)
#stop(Runnable)
will block for, before
returning.shutdownTimeout
- the shutdown timeout.public void setConsumerRebalanceListener(org.apache.kafka.clients.consumer.ConsumerRebalanceListener consumerRebalanceListener)
ConsumerRebalanceListener
implementation.consumerRebalanceListener
- the ConsumerRebalanceListener
instancepublic void setCommitCallback(org.apache.kafka.clients.consumer.OffsetCommitCallback commitCallback)
commitCallback
- the callback.public void setSyncCommits(boolean syncCommits)
syncCommits
- true to use commitSync().public void setIdleEventInterval(java.lang.Long idleEventInterval)
idleEventInterval
- the interval.public void setAckOnError(boolean ackOnError)
ackMode
and is
effective only when the kafka property enable.auto.commit
is false
;
it is not applicable to manual ack modes. When this property is set to true
(the default), all messages handled will have their offset committed. When set to
false
, offsets will be committed only for successfully handled messages.
Manual acks will always be applied. Bear in mind that, if the next message is
successfully handled, its offset will be committed, effectively committing the
offset of the failed message anyway, so this option has limited applicability.
Perhaps useful for a component that starts throwing exceptions consistently;
allowing it to resume when restarted from the last successfully processed message.ackOnError
- whether the container should acknowledge messages that throw
exceptions.public void setGroupId(java.lang.String groupId)
group.id
property
provided by the consumer factory configuration.groupId
- the group id.public java.lang.String[] getTopics()
public java.util.regex.Pattern getTopicPattern()
public TopicPartitionInitialOffset[] getTopicPartitions()
public AbstractMessageListenerContainer.AckMode getAckMode()
public int getAckCount()
public long getAckTime()
public java.lang.Object getMessageListener()
public long getPollTimeout()
public org.springframework.core.task.AsyncListenableTaskExecutor getConsumerTaskExecutor()
public GenericErrorHandler<?> getGenericErrorHandler()
public long getShutdownTimeout()
public org.apache.kafka.clients.consumer.ConsumerRebalanceListener getConsumerRebalanceListener()
public org.apache.kafka.clients.consumer.OffsetCommitCallback getCommitCallback()
public boolean isSyncCommits()
public java.lang.Long getIdleEventInterval()
public boolean isAckOnError()
public java.lang.String getGroupId()
public org.springframework.transaction.PlatformTransactionManager getTransactionManager()
public void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
AbstractMessageListenerContainer.AckMode.RECORD
and
AbstractMessageListenerContainer.AckMode.BATCH
(default) are supported with transactions.transactionManager
- the transaction manager.public int getMonitorInterval()
public void setMonitorInterval(int monitorInterval)
monitorInterval
- the interval.public org.springframework.scheduling.TaskScheduler getScheduler()
public void setScheduler(org.springframework.scheduling.TaskScheduler scheduler)
scheduler
- the scheduler.setMonitorInterval(int)
public float getNoPollThreshold()
public void setNoPollThreshold(float noPollThreshold)
poll timeout
exceeds this value, a NonResponsiveConsumerEvent is published.
Default .noPollThreshold
- the thresholdpublic java.lang.String getClientId()
setClientId(String)
public void setClientId(java.lang.String clientId)
clientId
- the client id.public boolean isLogContainerConfig()
public void setLogContainerConfig(boolean logContainerConfig)
logContainerConfig
- true to log.public LogIfLevelEnabled.Level getCommitLogLevel()
public void setCommitLogLevel(LogIfLevelEnabled.Level commitLogLevel)
commitLogLevel
- the level.public java.lang.String toString()
toString
in class java.lang.Object