2016-12-26 3 views
0

私はそれを簡潔にするつもりです。私たちは、BPMとたくさんのEJBを持つ内部キュー(pojoの実装)を使用する製品を持っています。私たちは製品にRESTを追加することに決めました.JAX-RSとSwaggerには、ドキュメント化のためにゼロになっています。 ここで、非同期シナリオを指すエンドポイントを作成し、REST要求が到着したときにBPMNフローを非同期に開始し、フローが完了するのを待ってから、内部キューに応答を並行して送信できるようにしますこれは、BPMNフローが処理を終了したときにメッセージを受信し、次にREST応答を構築することができます。RESTとブロッキングキュー

私はこれを達成するのに役立ついくつかのエンタープライズパターンまたはいくつかのユーティリティフレームワークを探しています。私はCamelにこのようなパターンがたくさんあることを知っていますが、この同期動作をシミュレートするためにJDK 1.6互換フレームワーク上で利用可能なものを探しています。

私は、RxJavaやオブザーバ型の通知パターンのようなものがありますが、スレッド間でメッセージをやりとりするための内部JMSキューはないでしょう。同時にスレッドセーフな土壌汚染が私が探しているものです。

答えて

0

私は、RxJavaやオブザーバー通知パターンのようなものがありますが、おそらくスレッド間でメッセージを渡すための内部JMSキューはありません。並行してスレッドセーフなソリューションが私が探しているものです。

JAX-RSを使用する場合は、おそらくAsynchronous Server APIに慣れているはずです。低速ですが同期動作の場合は、単にdispatch a task to your executorとし、結果が出たときに中断した要求を再開します。

もう1つの方法は、完了したフローを監視し、中断された要求を検索し、応答をディスパッチする責任を負うワーカーと共有データ構造に中断した要求を格納することです。

マイケル・バーカーの発券デモからResponseServlet

は(あなたが変換する必要がありますので、バーカーのコードは、RxJavaではなく、サーブレットではなく、JAX-RS、および Disruptorを使用しています)、この基本的な考え方を示しています。非同期応答処理の

追加リソース