我可以使用以下方式向网关添加动态 header :
public interface Gateway {
@Gateway(requestChannel="myChannel")
public void send(String message, @Header("dynamicHeaderValue") String dynamicHeader);
}
或者我可以在 xml 配置中添加一个静态 header :
<si:gateway service-interface="app.MyGateway">
<si:method name="myMethod" request-channel="myChannel">
<si:header name="staticHeaderValue" value="FOO" />
</si:method>
</si:gateway>
目前我的代码如上,设置了动态的,没有设置静态的。如果我删除动态注释,则静态注释有效,但动态注释显然无效。我怎样才能让两者都起作用?是否可以使用注释设置静态 header 值?如果我错了请纠正我,但我认为不可能从配置文件中的参数设置动态参数 - 参见(jira INT-1860)
最佳答案
如果您使用 XML 配置,请从方法中删除 @Gateway
注释 - 它应该可以工作(应该设置两个 header )。
关于java - Spring Integration Gateway 中的静态和动态 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8216860/