我有一个jms侦听器,它正在从另一个应用程序接收bytemessage。当前应用程序正在使用springjms。我想在这里介绍spring集成。因此,我添加了以下示例代码来侦听消息。
@Configuration
public class JmsConfiguration {
@Bean
public IntegrationFlow integrationFlow(ConnectionFactory connectionFactory) {
return IntegrationFlows
.from(Jms.messageDrivenChannelAdapter(connectionFactory)
.destination("fooQueue"))
.transform("hello "::concat)
.get();
}
然后我得到如下类强制转换异常:
java.lang.ClassCastException: [B cannot be cast to java.lang.String
我得到了一个bytemessage,但是我没有找到一个关于如何提取bytemessage和字节数组有效负载的好例子。我对Spring的世界还很陌生。
1条答案
按热度按时间r6vfmomb1#
添加
.transform(Transformers.objectToString())
在你的.transform()
.BytesMessage
将产生一条带有byte[]
所以你需要把它转换成String
在尝试连接它之前。