我通过org.springframework.jms.core.JmsTemplate
向ActiveMQ中的队列发送org.springframework.messaging.support.GenericMessage
。 在 ActiveMQ 中,我看到以下消息:
Cannot display ObjectMessage body. Reason: Failed to build body from content.
Serializable class not available to broker.
Reason: java.lang.ClassNotFoundException: org.springframework.messaging.support.GenericMessage
所以我无法在客户端中阅读该消息。我在我的 activeMQConnectionFactory 中将 trustAllPackages 设置为 true,但问题没有解决。怎么解决?
JmsTemplate
会将整个GenericMessage
序列化为 java 对象,因此在接收系统的类路径上也需要spring-messaging
。
类对代理不可用。
看起来您可能正在尝试在管理员 UI 中查看消息,该 UI 不理解 Spring 消息传递类。
如果要将 GenericMessage 映射到 JMS 消息,请改用 JmsMessagingTemplate
(send()
方法之一(;代理可能能够显示此类消息(取决于有效负载类型(。
简单地说:
在 activemq 的 lib 文件夹中添加所需的 jar 或类文件或序列化消息,然后重新启动 activemq。
它对我有用