小编有一段时间没有编写常规业务代码了,稍微有点生疏,借此机会也跟各位道友分享一点小心得。
小编接到任务,需要开发Kafka的模拟消息生产以及消息消费入库的简单业务功能,但是始终是消息可以生产到队列中,也可以在KafkaMap中看到生产的消息,消费者也是订阅了对应的主题,并且也指定了消费组,让小编为此花费了些时间排查问题。。。。
毕竟这是个比较简单的逻辑,惭愧
后来发现,是小编在编写业务代码的时候,遵循了常规的开发架构,将生产者和消费者的代码写到了业务层,并且是按照接口和实现类的方式,类似下面的情况
并且我的消费者@Service注解写到了接口类上,所以导致我的消费者业务层实现类代码没有直接被Spring管理,当我在启动服务的时候,消费者也就无法监测Kafka队列的消息了。。。。
小编在这里有两点想跟道友们稍微分享一下,在开发过程中:
1.开发规范很重要,注解加到哪一层,一定要搞清楚,不要像小编一样出现老生常谈的没有被S日pring管理的问题;
2.在开发消息队列的生产和消费者时,建议直接写单独的1个业务类即可,因为收发消息的逻辑比较简单,直接一个业务类就能够搞定。
最后引用最近经常看直播,经常听到的一句话送给大家:祝各位招财进宝,日进斗金!生意兴隆通四海,财源茂盛达三江!