我正在使用从另一个进程返回结果的骆驼代理。
public interface DataProcessingInterface {
public List<ResponseData> processPreview(ClientData criteria, Config config);
}
这是配置的链接
<camel:proxy
id="processPreviewProxy"
serviceInterface="model.jms.DataProcessingInterface"
serviceUrl="jms:queue:processPreview"/>
但有时其他进程需要很长时间才能返回结果,并且我遇到了超时异常
TemporaryQueueReplyManager - Timeout occurred after 20000 millis waiting for reply message with correlationID [Camel-ID-PC01-2661-1367403764103-0-15]. Setting ExchangeTimedOutException on (MessageId: ID-PC01-2661-1367403764103-0-17 on ExchangeId: ID-PC01-2661-1367403764103-0-16) and continue routing.
我如何告诉 Camel 等到响应准备好。如果需要多长时间,它应该永远需要。客户端在不同的线程中进行管理,因此它所花费的持续时间不会影响客户端。
如果抛出 TimeoutException 是否可以重新建立连接,以便我可以继续等待?