使用 jms:publish-subscribe-channel 发布时 JMS 消息正文为空

JMS Message body is null when publishing with jms:publish-subscribe-channel

我正在尝试在单个 ActiveMQ 主题上使用 jms:publish-subscribe-channel 到 pub/sub。我能够在通道上很好地接收来自 ActiveMQ 的消息,但是当我发布到通道时,消息正文为空(当另一个应用程序接收到 ActiveMQ 主题时)。我能够使用 spring-integration-samples->basic->jms 重现该问题。我修改了 outboundChannelAdapter.xml 以使用 jms:publish-subscribe-channel 而不是 jms:outbound-channel-adapter。是否需要其他步骤才能发布简单的字符串消息?这是我的代码更改为 outboundChannelAdapter.xml:

<stream:stdin-channel-adapter id="stdin" channel="stdinToJmsoutChannel"/>

<jms:publish-subscribe-channel id="stdinToJmsoutChannel" topic="requestTopic" />    

<stream:stdout-channel-adapter id="stdout" channel="stdinToJmsoutChannel" append-newline="true"/>

我不确定你说的 "the message body is null" 是什么意思。

我刚刚对示例进行了完全相同的更改,它对我来说效果很好...

Please type something and hit <enter>

foo
foo

我必须将 -Dorg.apache.activemq.SERIALIZABLE_PACKAGES=* 添加到命令行,因为 activemq 需要 类 的白名单(整个消息在 jms-backed 频道中序列化)。