为了账号安全,请及时绑定邮箱和手机立即绑定

获取rabbitmq消息的正文部分

获取rabbitmq消息的正文部分

翻翻过去那场雪 2021-12-22 19:13:39
我已经为 rabbit mq 设置了一个简单的监听器@RabbitListener(queues = SECOND_QUEUE)    public void onMessage(Message message) {     LOGGER.info("second queue listener.........");     LOGGER.info(message.toString());    }这给出了这种格式的消息 (Body:'1460' MessageProperties [headers={}, timestamp=null, messageId=null, userId=null, receivedUserId=null, appId=null, clusterId=null, type=null, correlationId=null, correlationIdString=null, replyTo=null, contentType=application/x-java-serialized-object, contentEncoding=null, contentLength=0, deliveryMode=null, receivedDeliveryMode=PERSISTENT, expiration=null, priority=0, redelivered=false, receivedExchange=, receivedRoutingKey=bottomlesspit, receivedDelay=null, deliveryTag=1, messageCount=0, consumerTag=amq.ctag-PpEjG_BokAg-A4wllCgeqA, consumerQueue=bottomlesspit])在控制台上。我也有兴趣在客户端处理消息,我有这个var onConnect = function() {   client.subscribe("/topic/messages", function(d) {   var str = d.body   var res = str.match(/Body:\'(.+)\'/);   console.log("I control this",res[1]);   }); };我只想在 java 中获取主体,因为它是我目前唯一感兴趣的部分。是否有一个功能已经在 java 和 stomp 中实现,仅用于获取正文部分?。
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

message.getBody()是您所需要的 - 它将返回byte[],您需要在知道您正在使用的消息格式的情况下对其进行转换:


@RabbitListener(queues = SECOND_QUEUE)

public void onMessage(Message message) {

    byte[] body = message.getBody();

    // do what you need with the body

}


查看完整回答
反对 回复 2021-12-22
?
千巷猫影

TA贡献1829条经验 获得超7个赞

您可以像这样获取数据:


@Override

    public void onMessage(Message message, byte[] pattern) {

        yourmap.put("data", message);

        send();

    }

然后,


String s = yourmap.get("data").toString();

您可以从流中获取已发布的数据。


我希望这将有所帮助。


查看完整回答
反对 回复 2021-12-22
?
BIG阳

TA贡献1859条经验 获得超6个赞

这对我有用


@RabbitListener(queues = SECOND_QUEUE)

public void onMessage(Message message) {

 LOGGER.info("second queue listener.........");

 //LOGGER.info(message.toString());

 byte[] body = message.getBody();

LOGGER.info("This was the output from the listener "+new String(body));

}


查看完整回答
反对 回复 2021-12-22
  • 3 回答
  • 0 关注
  • 404 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号