我有一个由消息传递网关公开的接口
SomeInterface.java`
interface SomeInterface {
Outcome doSomething(String p1);
Outcome doSomething(String p1, String p2);
}
其余-beans.xml文件
<int:gateway id="rest.someRestClient"
service-interface="SomeInterface">
<int:method name="doSomething" request-channel="rest.doSomething1"/>
<int:method name="doSomething" request-channel="rest.doSomething2"/>
</int:gateway>
<int:channel id="rest.someRestClient"/>
<int-http:outbound-gateway url="${rest.http.url}/v1/doSomething1"
request-channel="rest.doSomething1"
http-method="POST"
message-converters="rest.messageConverter"
header-mapper="rest.headerMapper"
expected-response-type="Outcome">
</int-http:outbound-gateway>
<int-http:outbound-gateway url="${rest.http.url}/v1/doSomething2"
request-channel="rest.doSomething2"
http-method="POST"
message-converters="rest.messageConverter"
header-mapper="rest.headerMapper"
expected-response-type="Outcome">
</int-http:outbound-gateway>
由于方法过载,我不确定如何公开接口中定义的两种方法。
由于重载方法,上述xml
无效。
答案 0 :(得分:1)
您不能使用XML,而是使用@MessagingGateway
注释(以及@Gateway
方法来配置通道),以及@IntegrationComponentScan
将找到注释和以与XML相同的方式生成网关。