Java Spring集成:以列表形式获取通道中的消息

Java Spring集成:以列表形式获取通道中的消息,java,spring,spring-integration,Java,Spring,Spring Integration,我想订阅一个PubSub频道,以获取所有消息负载并对其进行处理 问题是,我看到了IntegrationFlow的例子,但如果我理解正确,IntegrationFlow用于从一个通道获取数据,然后发送到另一个通道 我不想发送到另一个频道,我只想得到有效载荷,处理它 我该怎么做 我发现的所有示例都使用xml文件进行配置,但项目不是使用这种方式创建的 我看到了IntegrationFlow的例子,但如果我理解正确,IntegrationFlow将用于从一个通道获取数据,然后发送到另一个通道 我认为这不

我想订阅一个PubSub频道,以获取所有消息负载并对其进行处理

问题是,我看到了
IntegrationFlow
的例子,但如果我理解正确,IntegrationFlow用于从一个通道获取数据,然后发送到另一个通道

我不想发送到另一个频道,我只想得到有效载荷,处理它

我该怎么做

我发现的所有示例都使用xml文件进行配置,但项目不是使用这种方式创建的

我看到了IntegrationFlow的例子,但如果我理解正确,IntegrationFlow将用于从一个通道获取数据,然后发送到另一个通道

我认为这不是正确的信息。你可以处理这些信息。 您可以在配置类中执行以下操作:

@Bean
public IntegrationFlow myFlow() {
  return IntegrationFlows.from(...)
    .handle((GenericHandler<YourMessage>) (message, headers) -> {...})
}
@Bean
公共集成流myFlow(){
返回IntegrationFlows.from(…)
.handle((GenericHandler)(消息,头)->{…})
}
我看到了IntegrationFlow的例子,但如果我理解正确,IntegrationFlow将用于从一个通道获取数据,然后发送到另一个通道

我认为这不是正确的信息。你可以处理这些信息。 您可以在配置类中执行以下操作:

@Bean
public IntegrationFlow myFlow() {
  return IntegrationFlows.from(...)
    .handle((GenericHandler<YourMessage>) (message, headers) -> {...})
}
@Bean
公共集成流myFlow(){
返回IntegrationFlows.from(…)
.handle((GenericHandler)(消息,头)->{…})
}

确实不需要将集成流链接到输出通道?不,不需要。尝试从我在答案中发布的示例中实现它。答案是正确的,但您需要将逻辑更改为
句柄(MessageHandler)
,它实际上是单向端点,不会返回任何东西来让您最终添加该
通道()
@尼尔达先生,您可能将
集成流
抽象与
端点
混合在一起,两者的目标略有不同。尽管
IntegrationFlow
is实际上可以在流逻辑中扮演端点角色。有关更多信息,请参阅文档:确实不需要将IntegrationFlows链接到OutputChannel?不,不需要。尝试从我在答案中发布的示例中实现它。答案是正确的,但您需要将逻辑更改为
句柄(MessageHandler)
,它实际上是单向端点,不会返回任何东西来让您最终添加该
通道()
@尼尔达先生,您可能将
集成流
抽象与
端点
混合在一起,两者的目标略有不同。尽管
IntegrationFlow
is实际上可以在流逻辑中扮演端点角色。有关更多信息,请参阅文档: