标头注释为“。”标头名称中的名称,例如@Header(“ foo.bar”),不会映射

时间:2019-10-15 22:11:37

标签: spring-integration spring-cloud-stream spring-integration-dsl

我有一个简单的带有签名的Spring Integration消息端点:

@Transformer
String handleMessage(@Payload String payload, @Header("nerf") String nerf, @Header("foo.bar") String foobar) {
 //...
} 

变量nerf始终包含从Kafka收到的标头值。尽管入站邮件中存在名为foobar的标头,变量foo.bar始终为空。

这是一个简单的基于DSL的流程,直接来自Kafka活页夹。

似乎任何名称包含.字符的参数都无法正确映射。

我在做什么错? @Header(name)是SpEL表达式吗?

1 个答案:

答案 0 :(得分:1)

就是这样设计的;因此您可以从名为bar的标头中提取属性foo

但是,按照Oleg的建议引用它应该可以,但是不能;我们最终要查找具有属性''foo'的标头bar'

我打开了GitHub issue