在xdelayreceiver中,可以定义多个消息处理器,根据参数类型来区分,但是有一个前提,就是必须把注解写到类前面:
@RabbitListener(queues = XdelayConfig.IMMEDIATE_QUEUE_XDELAY) public class XdelayReceiver {
然后把@RabbitHandler写在每一个处理方法之前
@RabbitHandler public void get(MessageVo messageVo) {
@RabbitHandler
public void get2(MessageVoSec messageVo) {
这样就可以正常通过消息类型来区分了,否则会出现不确定的异常。