我正在创建如下 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/