春天卡夫卡听正则表达

时间:2018-02-12 14:45:53

标签: java spring spring-kafka

我正在尝试使用以下代码收听新创建的主题,但无效。如果下面的代码是正确的,你能告诉我吗?

public class KafkaMessageListener {
    private static final Logger LOGGER = LoggerFactory.getLogger(KafkaMessageListener.class);

    private final ProcessEventModel eventModel;

    @KafkaListener(topicPattern = "betsyncDataTopic*")
    public void receive(ConsumerRecord<String, String> consumerRecord) {
        LOGGER.info("received payload at '{}'", consumerRecord.timestamp());
        eventModel.process(consumerRecord.value());
    }

1 个答案:

答案 0 :(得分:6)

你的正则表达式无效;它应该是betsyncDataTopic.*

@KafkaListener(id = "xxx", topicPattern = "kbgh.*")
public void listen(String in) {
    System.out.println(in);
}

...

partitions assigned: [kbgh290-0]

修改

如果您稍后添加与该模式匹配的新主题,则重新平衡之前会有一段延迟。根据{{​​1}} javadocs ......

KafkaConsumer

我刚刚参加了考试;在 * Subscribe to all topics matching specified pattern to get dynamically assigned partitions. * The pattern matching will be done periodically against topic existing at the time of check. * <p> * As part of group management, the consumer will keep track of the list of consumers that * belong to a particular group and will trigger a rebalance operation if one of the * following events trigger - * <ul> * <li>Number of partitions change for any of the subscribed list of topics * <li>Topic is created or deleted * <li>An existing member of the consumer group dies * <li>A new member is added to an existing consumer group via the join API * </ul> 添加了一个新的匹配主题;结果:

12:13:32

所以需要几分钟。