SimpleMessageContainer無法偵聽Message對象-Spring RabbitMQ

我使用的是動態(tài)隊列和容器偵聽器,我的問題是我必須偵聽特定隊列的方法不會接收消息對象。我得到一個ListenerExecutionError異常:“未能調(diào)用參數(shù)類型為[class[B],值=的目標(biāo)方法'dataHandler'[{[B@65f26bf7}]"

當(dāng)我使用RabbitListener注釋時,我的代碼可以正常工作,它完全接受Message對象,但當(dāng)使用容器時,我遇到了這個問題。我將處理程序參數(shù)類型從Message切換為byte[],并根據(jù)需要調(diào)用該方法。我猜RabbitListener注釋做了一些轉(zhuǎn)換,但我沒有意識到。

有人請幫幫我。

這是我的容器創(chuàng)建代碼:

        SimpleMessageListenerContainer listen = new SimpleMessageListenerContainer();
        listen.setConnectionFactory(rabbitTemplate.getConnectionFactory());
        listen.setQueueNames(testQueue);
        MessageListenerAdapter adapt = new MessageListenerAdapter();
        adapt.setDefaultListenerMethod(randomMethod);
        adapt.setDelegate(this);
        listen.setMessageListener(adapt);
        listen.start();
    

這是我的監(jiān)聽器方法簽名。

public void randomMethod(Message msg)

將代碼發(fā)送到此隊列的行是:

Message message = new Message(data, props)
rabbitTemplate.convertAndSend(testQueue, message);

數(shù)據(jù)是字節(jié)數(shù)組,props是MessageProperties對象。

? 最佳回答:

適配器不是用來簡單地傳遞這樣的消息的,只需使用MessageListener即可。

listen.setMessageListener(msg -> randomMethod(msg);

or...

listen.setMessageListener(this::randomMethod);
主站蜘蛛池模板: 国产一区二区三区在线电影| 国产精品美女一区二区| 无码国产精成人午夜视频一区二区| 国内精品视频一区二区三区八戒 | 搜日本一区二区三区免费高清视频| 麻豆AV天堂一区二区香蕉| 国产激情一区二区三区小说| 一区二区在线播放视频| 麻豆天美国产一区在线播放| 国产在线第一区二区三区| 偷拍精品视频一区二区三区| 亚洲午夜福利AV一区二区无码| 亚洲av不卡一区二区三区| 大香伊蕉日本一区二区| 色老板在线视频一区二区| 99久久无码一区人妻a黑| 亚洲性日韩精品一区二区三区| 成人精品一区二区三区不卡免费看| 亚洲一区二区三区无码国产| 国产精品福利区一区二区三区四区| 日韩一区二区三区四区不卡| 日本不卡一区二区三区| 亚洲日韩激情无码一区| 国产日韩高清一区二区三区 | 久久蜜桃精品一区二区三区| 久久se精品动漫一区二区三区| 国产一区二区女内射| 丰满少妇内射一区| 午夜福利av无码一区二区| 国产成人片视频一区二区| 久久久久国产一区二区三区| 国产av福利一区二区三巨| 久久一区二区三区免费| 国产人妖视频一区二区| 国产内射在线激情一区| 国产一区二区成人| 国产成人一区二区三区电影网站 | 国产精品香蕉一区二区三区 | 爆乳无码AV一区二区三区| 免费看无码自慰一区二区| 日本一区二区在线免费观看|