可以使用多方法接口作为只有一个通道的网关吗?
我使用spring integration 4.1.2.RELEASE。
不同的方法在其他服务器上调用不同的API方法。
我的配置/来源如下:
网关:
@MessagingGateway
public interface TestService
{
@Gateway(requestChannel="testRequestChannel")
public Test findTestById( String test );
@Gateway(requestChannel="testRequestChannel")
public List<Test> getTests();
.... many more methods ....
}
服务Impl:
@MessageEndpoint
public class TestServiceImpl
{
@ServiceActivator( inputChannel = "testRequestChannel")
public Test findTestById( String test )
{
...
}
@ServiceActivator( inputChannel = "testRequestChannel")
public List<Test> getTests( String test )
{
...
}
}
模特:
@Service
public class TestModel
{
@Autowired
private TestService testService;
public Test findTestById( String test )
{
return this.testService.findTestById(test);
}
}
谢谢
马塞尔
答案 0 :(得分:0)
不,你不能这样做;订阅相同频道的2个服务意味着(默认情况下)该频道上的请求将轮流调度到该方法。
由于您正在使用网关启动流程,为什么不为每个使用单独的通道?