java - 如何将 JSON 对象发送到 ActiveMQ?

标签 java json jms activemq

我正在创建如下 JSON 对象

org.json.JSONObject json = new JSONObject(jsonString);

我想将此对象发送到 ActiveMQ 上的队列。 我试图使用以下 API

objectMessage.setObject(json);

但是由于 json 对象不可序列化,编译器会抛出错误。

如果我将 json 对象转换为 String 那么它就可以工作。

有什么方法可以直接将 json 对象(不转换为字符串)传输到队列吗?

最佳答案

不要使用..jms.ObjectMessage,它会导致各种痛苦、磨难和愤怒。将 JSON 序列化为字符串并发送 ..jms.TextMessage。

话虽这么说……这一切都取决于您的用例。出于跨平台和服务独立性的原因,有一些架构原则在传输过程中支持基于文本的格式。如果这是同一个应用程序通过 JMS 本身共享数据的用例,则可以使用 ObjectMessages 来证明其合理性。为此,请将 JSON pojo 更新为“..implement Serialized”,然后 jms.ObjectMessage 将起作用。

关于java - 如何将 JSON 对象发送到 ActiveMQ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40934702/

相关文章:

java - 尝试解析嵌套的 json 并将其存储在嵌套的 Map 中。阅读时,它会在 map 中提供额外的值。代码、输出和 json 下面

java - activemq - 等待所有消息被消费

java - 如何获取 ActiveMQ - 单个发送方和接收方的 FIFO 要求?

java - keystore 密码和别名密码不同的风险

java - JUnit4:如何验证变量名称是否正确

ios - 无法在 swift 2 中将 json 数组解析为 nsarray

java - 如何在Activemq中回滚消息

Java:如何知道 JOptionPane 何时通过单击 X 关闭?

java - 如何更新 jar 文件中的参数?

python - python 2.7 urllib2 和 json 中的脚本引发 unicode 错误