当前位置: 首页 > 知识库问答 >
问题:

rabbit mq消息侦听器

程鸿畅
2023-03-14

我正在使用


@Autowired
RabbitTemplate temp;
temp.convertAndSend("aQueue", msg);

发送和


@Autowired
RabbitTemplate temp;
return temp.receiveAndConvert("aQueue");

对于现在从rappid mq接收消息,我希望使用类似以下内容的侦听器:

@Component

public class MessengerListener implements MessageListener{

    @Override
    public void onMessage(Message arg0) {


    }

}

问题是onMessage监听器与Messages一起工作是否有可能在类似的函数中接收简单的可序列化对象?

共有1个答案

长孙承嗣
2023-03-14

我强烈建议您不要这样做,您应该将XML、JSON(我推荐JSON)等传递给onMessage(…)并解组响应,而不是通过JMS序列化对象。

使用下面类似的方法来解组/编组有效负载

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.2</version>
</dependency
 类似资料:
  • 我有一个Java程序,它向RabbitMQ发送消息。我只知道交易所的名字。没有队列、绑定等。 我的问题是:我如何才能看到程序是否成功发送这些,只知道交换名称? 谢谢 问候,塞班

  • 我有一个Spring应用程序在独立的JBoss EAP 6.2中运行(带有嵌入式HornetQ提供程序)。 消息被成功地放在队列中(我可以在jboss eap-6.2\独立\data\MessagingJournal\hornetq-data-1.hq中看到它们,因为队列是持久的),但不会被侦听器拾取(侦听器中的断点不会被命中)。我怀疑配置中缺少或错误的东西,但看不出是什么。JBoss启动时没有任

  • 我使用spring amqp和rabbitmq在我的应用程序中交换消息。一旦我的应用程序启动,我将在我的tomcat控制台中不断看到大量的消息监听日志。我想禁用。怎么做? 下面是我的log4j配置。尽管我只提到了文件appender,但所有侦听器日志都在我的应用服务器控制台中打印。 需要添加任何配置吗? 编辑帖子: 我添加了在JAVA_OPTS中。请在下面找到日志。 我的项目结构如下所示。 项目结

  • 我正在开发一个基于通知的应用程序,为此我需要监听传入的通知。我已经能够监听来电、短信、邮件等。我不知道如何通过代码监听Whatsapp上朋友的ping或消息。这实际上能做到吗?如果是,怎么做?可访问性服务是否可以用于此,使用包名为“com.whatsapp”?

  • 问题内容: 一个典型的Redis聊天示例将如下所示(仅举一个这样的示例,请参见https://github.com/emrahayanoglu/Socket.io- Redis-RealTime-Chat- Example/blob/master/chatServer.js ): 但是,这里的问题是,当“断开连接”时,侦听器仍然处于连接状态。控制台将继续打印出。如果要检查的事件列表,他们仍然会发现

  • 当重新排队到原始队列时,消息可以再次返回到死信队列,并看到x-death报头计数不断增长。 由于某些原因,我们希望处理count>=5的死信消息(例如),并将其他消息重新排入死信队列。 我需要首先对消息进行基本的ack以检查X死亡计数头,然后将其发送到原始队列,如果计数足够大,否则在死信队列中重新排队。 我无法重新排队到死信队列,因为基本的get不在侦听器内部:抛出AmqpRejectAndDon