想通过定时任务以poll消息的形式消费kafka消息,一个消费者组订阅了两个topic,每个topic有自己的定时任务且频率不同。但是在两个定时任务同时进行时,会报多线程不安全的错。这个该如何解决呢?
把自动提交改成手动提交,在poll的时候加readlock,commitsync的时候加writelock依旧报错
想通过定时任务以poll消息的形式消费kafka消息,一个消费者组订阅了两个topic,每个topic有自己的定时任务且频率不同。但是在两个定时任务同时进行时,会报多线程不安全的错。这个该如何解决呢?
把自动提交改成手动提交,在poll的时候加readlock,commitsync的时候加writelock依旧报错
你的问题似乎是在处理Kafka消息的多个消费者实例时遇到了线程安全性问题。你提到将自动提交改为手动提交,并在poll和commitSync时分别使用readLock和writeLock,但仍然出现错误。
这个问题的复杂性在于,需要保证多个消费者实例在处理Kafka消息时的线程安全性,同时还要满足你的定时任务在不同的频率上运行,且每个任务可能消费不同的topic。
以下是一些可能的解决方案:
请注意,以上提到的解决方案可能需要根据你的具体情况进行调整。你可能需要尝试不同的方案,看看哪个最适合你的需求。