gpt4 book ai didi

java - JMS/websocket 消息中缺少正文

转载 作者:行者123 更新时间:2023-12-01 13:11:45 27 4
gpt4 key购买 nike

我试图理解为什么序列化对象在收到时被删除。

这是总体布局:1. 生成 JMS 消息并发送到外部 ActiveMQ 代理上的主题。该代码基于 Spring boot JMS 消息,可以在 http://bit.ly/QECQ21 查看。 。在我的示例中,我生成各种类型的消息(文本、POJO、 map )2. 我有 2 个 JMS 消费者订阅了该主题。

a.一种是java客户端。该客户端正确识别所有不同的消息类型。

b.第二个客户端是基于 websockets + stomp.js 的 javascript 客户端。这可以正确识别文本消息,但不能识别包含我的生产者生成的 POJO 的消息。

以下是 Web 客户端的示例输出(来源:http://bit.ly/Od0noF)。

我做错了什么?寻址有问题还是代码中有其他问题?关于我使用(或误用)STOMP 的方式?我必须在 Application.java 类中使用“tcp://localhost:61616”才能正确联系代理。

谢谢

消息优先级:4持久:true订阅:sub-0过期:0时间戳:1396418227090目的地:/主题/问候消息ID:ID:blackbox-53461-1396418226684-1:1:2:1:1内容-长度:4 ping

正文:ping

<小时/>

消息优先级:4持久:true订阅:sub-0过期:0时间戳:1396418227117目的地:/主题/问候消息ID:ID:blackbox-53461-1396418226684-1:1:2:1:2

body :======>失踪的 body

<小时/>

消息优先级:4持久:true订阅:sub-0过期:0时间戳:1396418227122目的地:/主题/问候消息ID:ID:blackbox-53461-1396418226684-1:1:2:1:3

body :======>失踪的 body

<小时/>

消息优先级:4持久:true订阅:sub-0过期:0时间戳:1396418227125目的地:/主题/问候消息ID:ID:blackbox-53461-1396418226684-1:1:2:1:4内容-长度:5 关闭

正文:关闭

<小时/>

最佳答案

还没有答案,所以我将添加我的发现。 STOMP 是基于文本的协议(protocol),因此正文需要转换为文本格式(例如 JSON)。就我而言,这可以使用 spring websockets 框架(内部使用 Jackson)或使用 Jackson 将对象显式编码为 JSON 来完成,并将它们作为文本消息传输

关于java - JMS/websocket 消息中缺少正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22802865/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com