java - 如何避免在 Spring Integration @ServiceActivator 方法中将 header 从输入复制到输出

标签 java spring-integration

我使用简单的代码来处理来自 Google PubSub 订阅的消息并将结果返回到主题中。 但由于某种原因,添加到输入消息的所有 header 也会出现在输出消息 header 上。

有办法消除这种行为吗?

处理代码如下所示:

@ServiceActivator(inputChannel = "myInput", outputChannel = "myOutput")
public Message<String> onMessage(String payload, @Headers Map<String,Object> headers) throws SocketTimeoutException {
...
  return new GenericMessage<>(responseJson, Collections.singletonMap("type", "something"));
}

我在 Spring Integration 文档中没有找到任何关于从输入到输出的“克隆”的内容。

最佳答案

你不能;如果您使用 @Transformer相反(并返回 Message<?> )入站 header 不会传播。

关于java - 如何避免在 Spring Integration @ServiceActivator 方法中将 header 从输入复制到输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57460881/

相关文章:

java - 在 Spring Integration 中的消息 header 中设置文件名

error-handling - Spring Integration - 如何将错误处理委托(delegate)给单独的线程

java - 如何借助证书创建 DefaultFtpsSessionFactory 实例

java - 在二维图中表示字符串

java - ImageJ jar 文件插件快捷方式创建

java - 重构以对每个 getter 应用方法

java - 使用 Spring 集成实现 MongoDB 入站流

spring - 多个 Spring 集成聚合器可以共享同一个消息存储吗?

java - doInBackground 不更新变量

java - @contextconfiguration 模拟注释样式