Spring Integration Gateway中的静态和动态标头

时间:2011-11-21 18:45:41

标签: java spring header spring-integration gateway

我可以使用以下方法向网关添加动态标头:

public interface Gateway {
    @Gateway(requestChannel="myChannel")
    public void send(String message, @Header("dynamicHeaderValue") String dynamicHeader);
}

或者我可以在xml配置中添加静态头:

<si:gateway service-interface="app.MyGateway">
    <si:method name="myMethod" request-channel="myChannel">
        <si:header name="staticHeaderValue" value="FOO" />
    </si:method>
</si:gateway>

目前我的代码如上所示,动态设置但不是静态。如果我删除动态注释,那么静态注释可以工作,但显然不是动态注释。我怎样才能让两者都起作用?是否可以使用注释设置静态标头值?如果我错了,请纠正我,但我不认为可以从配置文件中的参数设置动态 - 请参阅(jira INT-1860

1 个答案:

答案 0 :(得分:2)

如果您使用XML配置,请从方法中删除@Gateway注释 - 它应该可以正常工作(两个标题都应该设置)。