完整的异步Web服务通信 - 发送方和接收方不可同时使用

时间:2018-01-20 07:08:20

标签: apache-camel jms activemq spring-jms

两个系统通过集成相互通信(使用apache-camel)。假设系统A需要向系统B提交请求,系统B公开了一个Web服务来接收数据,并且集成正在根据系统B Web服务转换数据。

在上面的场景中,A和B必须同时可用,A必须等待来自B的响应。我需要通过将队列放在集成层和Async通信来消除这种依赖性。 例如:

Thread t = new Thread(new MessageLoop());
t.start();

如上所述路由系统A即使系统B不可用也可以提交请求但是路由integrationToB仍然需要系统B可用,否则它将失败并在重试后将请求发送到死信队列。 所以我试图找出如何配置路由integrationToB只在系统B可用时运行。

1 个答案:

答案 0 :(得分:0)

我不太明白,你说你在系统之间放置了一个排队机制。好的,但是如果你这样做了,就不需要知道系统是否可用。该系统在可用时将从队列中消耗。

如果您仍然需要从队列发送到网络服务,那么在两者之间建立排队机制是什么意思?