Camel Processor で同期を取る方法を教えてください。
docsで見つけた唯一の関連事項:
設計上、ActiveMQ、JMS、または SEDA を使用する場合、同時実行性またはロックの問題はないことに注意してください。それらは高度な同時使用のために設計されています。ただし、メッセージのプロセッサで同時実行の問題が発生する可能性があります。つまり、プロセッサはメッセージに対して何をしますか?
したがって、 org.apache.camel.Processor.process(Exchange)でロックを取得したい場合、つまり、他のスレッドがビジー状態のプロセスメソッドの終了を待機するようにします。それは可能ですか?
UPDATE : 実際に、JVM 側で動作するプロセスメソッド内で同期 (ロック) を作成しようとしました。しかし、私のプロセッサはトランザクション化されたルートの一部であり、それが問題です.Persistence Layerへのすべての変更は、プロセッサ(またはおそらくルート)を終了した後にのみ表示されます。したがって、この問題にはいくつかのキャメルのような解決策があると思いました。