spring集成不转换bytemessage

vfhzx4xs  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(314)

我有一个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的世界还很陌生。

r6vfmomb

r6vfmomb1#

添加 .transform(Transformers.objectToString()) 在你的 .transform() . BytesMessage 将产生一条带有 byte[] 所以你需要把它转换成 String 在尝试连接它之前。

相关问题