- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Java EE JMS 创建一个简单的示例。
如果我尝试接收 ObjectMessage,我需要与发送 ObjectMessage 的其他项目具有完全相同的路径(包名称)。
例如,我在发送方项目中的包“org.queue.sender”中有一个名为 Person 的类,而在我的接收方项目中的包“org.queue.receiver”中有一个完全相同的类。
正如已经说过的,如果我尝试获取对象消息,我会收到以下异常:java.lang.ClassNotFoundException:org.queue.sender.Person
如果我在接收器项目中创建一个名为 org.queue.sender 的新包并将 Peron 类传输到那里,那么它就会运行。但我认为我不能成为真正的解决方案。
有更好的解决方案吗?
最佳答案
来自JavaDoc :
An ObjectMessage object is used to send a message that contains a serializable object in the Java programming language ("Java object"). It inherits from the Message interface and adds a body containing a single reference to an object. Only Serializable Java objects can be used.
因此,通过 ObjectMessages 传递的对象必须是可序列化的,即它必须是相同的类和完全相同的包。
如果您需要更灵活地处理消息,我建议您使用例如TextMessage
并使用例如序列化/反序列化对象JSON 或 XML。
ObjectMapper mapper = ... ; // Get hold of a Jackson ObjectMapper
session.createTextMessage(mapper.writeValueAsString(myPojo));
// and on the receiving side
TextMessage message = ....; // From the message receiver
MyPojo myPojo = mapper.readValue(message.getText(), MyPojo.class);
关于java - JMS ObjectMessage 类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27623929/
我正在使用 ActiveMQ 在我当前的项目中实现一个消息传递系统。我需要发送和接收 Java 对象而不是简单的文本或二进制消息。 Java 对象(我的消息对象)根据需要实现了 Serializabl
我正在尝试使用 Java EE JMS 创建一个简单的示例。 如果我尝试接收 ObjectMessage,我需要与发送 ObjectMessage 的其他项目具有完全相同的路径(包名称)。 例如,我在
我认为这是一个愚蠢的问题,但我无法在 JMS getting started guide 中找到我正在寻找的答案。 ,或者确实在网络上的其他地方。 This jGuru post建议以下场景中的线程安
我将不胜感激这方面的任何帮助... 我有一个对象,我试图通过调用 setObject 在 JMS ObjectMessage 中发送。该对象包含一个 HashMap 内容以及一些其他字段。本地图包含原
就 JMS 性能而言,我了解到出于性能原因应避免使用 ObjectMessage。 ObjectMessage 的性能有多差?我应该序列化为 BytesMessage 并手动反序列化吗? 最佳答案 O
使用SpringBoot运行一个简单的项目并通过@Configuration创建一个ActiveMQ代理。 在Main方法中,在SpringApplication.run之前,我设置了这个; Syst
如何向 IBM MQ 发送对象消息? 我的 Java 代码片段: QueueConnectionFactory cf; QueueConnection conn; MQQueueSession ses
我正在通过 Spring Boot 编写的监听器使用 JMS ObjectMessage。我通过 Camel 应用程序将 ObjectMessage 发送到 ActiveMQ 队列,并从 Spring
我使用 Spring Boot、jms 和 IBM MQ。我知道 BytesMessage 的存在是为了发送文件,但使用 ObjectMessage 对我来说会方便得多。我可以这样做吗,否则这会导致很
我在我的架构中以多种方式使用 JMS。 延迟和性能是我们架构中非常重要的因素。 我读到,使用 jms 和 ObjectMessage 来传递消息中的整个 java 对象需要大量的性能。 替代解决方案是
正如我从 activemq object message security article 中读到的那样, 来自 activemq 5.12.2 ActiveMQ enforces users to
有一个像这样的自定义对象: package Messages; import java.io.Serializable; import javax.jms.TextMessage; public cl
我有一个 ActimeMQ 消费者,它需要 javax.jms.ObjectMessage 格式的消息。该消息 pojo 有 5 个字符串元素。 现在我正在尝试在 NodeJs 中为这个消费者编写一个
我正在复活一个与 WildFly 8/HornetMQ/Log4J 一起工作的旧应用程序。它是交换 JMS ObjectMessages 的远程 Java GUI 客户端。 到目前为止,当为 Wild
我是一名优秀的程序员,十分优秀!