自主创作 JAVA业务场景实现求助

  • 主题发起人 主题发起人 Scare
  • 开始时间 开始时间

Scare

0xFF|主权幽灵
07
908
195
奇源币
0
管理成员
工作人员
版主
VIP


业务场景:
jdk1.8+springboot2.7,实现一个对接第三方系统的服务,controller接收第三方系统的各类消息,但是消息之间有处理顺序要求,如消息2的处理必须等待消息1处理完成,但有如下问题
(1)无法保证消息到来的顺序,有可能消息2先到,消息1后到
(2)消息有组的概念,消息12为一组,但可能同时有多组消息到来,即可能先到了A组的消息1,B组的消息2
求助各位佬友,有什么好的方法保证消息分组处理(不同组的消息不能混乱处理)、顺序处理(消息2先到得等待消息1到了再处理,还需要有超时)吗?
我目前想到的方法有:
(1)BlockingQueue加自定义的带groupid+priority的消息类,单线程异步
(2)BlockingQueue加责任链模式,不停的循环处理队列,不满足条件就跳过
 
后退
顶部