继续关于Kafka文档的阅读
This commit is contained in:
@@ -625,3 +625,16 @@ KafkaMessageListenerContainer会在单线程中接收所有来自topic和分区
|
||||
默认情况下,当使用事务时,interceptor会在事务开始之前被调用。可以设置listener container的interceptBeforeTx属性为false来令interceptor的调用时机为事务开始之后。
|
||||
ConcurrentMessageListenerContainer支持“静态成员”(即固定消费者,即使消费者实例重启,如此可以降低事件在消费者之间重新负载均衡的开销),当并发量大于1时。`group.instance.id`的后缀为`-n`,其中n从1开始。
|
||||
|
||||
可以通过如下构造函数来使用MessageListenerContainer:
|
||||
```java
|
||||
public KafkaMessageListenerContainer(ConsumerFactory<K, V> consumerFactory,ContainerProperties containerProperties)
|
||||
```
|
||||
该构造方法接收一个ConsumerFactory,并通过ContainerProperties实例来接收其他配置。ContainerProperties拥有如下的构造函数:
|
||||
```java
|
||||
public ContainerProperties(TopicPartitionOffset... topicPartitions)
|
||||
|
||||
public ContainerProperties(String... topics)
|
||||
|
||||
public ContainerProperties(Pattern topicPattern)
|
||||
```
|
||||
- 第一个构造方法接收一个TopicPartitionOffset的数组作为参数,来显式指定container使用哪些分区(通过consumer的assign方法),并可以附带一个可选的初始offset。默认情况下,如果offset为正值,代表其是绝对的offset。若offset为负值,则offset代表在默认分区中相对于current last offset的相对位置。并且,对于TopicPartitionOffset类,其提供了一个接收额外boolean参数的构造方法,如果该值设置为true,无论init offset为正值或者负值,都是相对于consumer当前位置的相对值。当容器启动时,offset将会被使用。
|
||||
Reference in New Issue
Block a user