1

我正在使用 start() 方法来实例化与我正在使用的提要的连接,然后 stop() 将其拆除,但是在创建 Endpoint 之后,Camel 继续在其上连续调用 start() 两次

虽然通过检查它是否已经启动一次显然很容易解决,或者(就像我所做的那样)只是将起始代码移动到 Endpoint 的构造函数中 - 这让我觉得我不明白 start() 方法正在尝试什么实现(文档很有帮助地建议: start() 启动服务... grrreat

为什么会发生两次?


顺便说一句,createEndpointUri() 也被调用了……这让我很怀疑,因为这是一个“未提供 uri 时的惰性加载器”……除了已经提供了一个……所以我想知道是否有一些次要的由于某种原因正在发生实例化

4

1 回答 1

2

您应该扩展具有 doStart | 的 ServiceSupport doStop 方法,并且可以跟踪您的类的状态。然后 Camel 知道状态并且不会调用 doStart 两次。

于 2013-01-29T13:33:00.317 回答