1

start() メソッドを使用して、使用していたフィードへの接続をインスタンス化し、次に stop() を使用して破棄していましたが、エンドポイントを作成した後、Camel は start() を続けて 2 回呼び出します。

すでに一度開始されているかどうかを確認するか、(私が行ったように)開始コードをエンドポイントのコンストラクターに移動するだけで、回避するのは明らかに簡単ですが、 start() メソッドが何をしようとしているのか理解できないと思います達成するために(ドキュメントは有益に示唆しています:start()はサービスを開始します... grrreat

なぜこれが2回起こるのでしょうか?


ちなみに createEndpointUri() も呼び出されます...これは「uriが提供されていない場合の遅延ローダー」であるため、かなり疑わしくなります...1つが提供されていることを除いて...だから、いくつかのセカンダリ何らかの理由でインスタンス化が発生しています

4

1 に答える 1

2

doStart | を持つ ServiceSupport を拡張する必要があります。doStop メソッドを使用して、クラスの状態を追跡できます。その後、Camel は状態を認識し、doStart を 2 回呼び出すことはありません。

于 2013-01-29T13:33:00.317 に答える