当前位置: 首页 > 知识库问答 >
问题:

Spring集成不转换字节消息

越宣
2023-03-14

我有一个JMS侦听器,它正在从另一个应用程序接收字节消息。当前应用程序正在使用Spring JMS。我想在这里介绍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个答案

穆阳炎
2023-03-14

添加。转换(Transformers.objectToString())之前。transform()ByteMessage将生成一条带有byte[]有效载荷的消息,因此在尝试连接它之前,需要将其转换为字符串。

 类似资料:
  • 在Spring Integration中,我有如下消息: 我需要使用一些Rest服务来丰富/转换这个消息,这将为我提供属性值。 例如会回答我 最后一个对象应如下所示: 如何实现这一点? 应该是这样吗?https://www.youtube.com/watch?time_continue=273 入站适配器-

  • 在我的用例中,最简单的集成组件安排是什么: 接收来自多个来源和多种格式的消息(所有消息都是JSON序列化对象)。 将消息存储在缓冲区中最多10秒(聚合) 通过不同的类属性getter(例如class1.someId(),class2.otherId(),...) 释放所有分组的消息并转换为新的聚合消息。 到目前为止(第1点和第2点),我正在使用聚合器,但不知道3)处的问题是否有现成的解决方案或者我

  • 问题内容: 如何转换成? 还给我一个。 问题答案: 调用toArray()之后,您可以将结果传递到Apache Commons toPrimitive方法中: http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/ArrayUtils.html#toPrimitive(java.lang.Byte [])

  • 生产者可以发送两种不同的消息类型;和(每个消息的内容无关,但假设它们都有一个字段)。每个消息使用的路由密钥分别是和。生产者不依赖默认的Java序列化,而是使用。 使用者有一个队列,该队列使用的路由键绑定到同一个交换。一旦使用,使用者所要做的就是在日志文件中打印每个消息的。为了检索字段的值,需要将JSON有效负载转换为某种对象。 这两个组件之间不共享消息类(和)。使用者的对象在其消息表示中可能有或多

  • 尝试从Web运行示例spring-integration mqtt项目。我已经在根上下文中导入了mqtt-context。部署war之后,我将运行runmqtt.java文件。但会遇到以下问题。如果在独立模式下运行,相同的文件不会产生任何问题。 mqtt-context.xml http://www.springframework.org/schema/integration http://www

  • 我有一个集成应用程序,大部分工作,但注意到昨天一个消息丢失了。当时,service-activatorendpoint正忙于处理先前的消息。 以下是适用于该问题的配置。