大量のメッセージ (トレーディング システムなど) を処理できる単純なアプリケーション (j2ee と jms なし) を設計したいと考えています。
メッセージを受信してキューに入れることができるサービスを作成して、過負荷時にシステムがスタックしないようにしました。
次に、キューをラップし、キューからメッセージをポップアウトする pop メソッドを持つサービス (QueueService) を作成しました。メッセージが null を返さない場合、このメソッドは次のステップで「同期済み」としてマークされます。
メッセージの処理方法を知っているクラス (MessageHandler) と、新しいスレッドでメッセージを「リッスン」できる別のクラス (MessageListener) を作成しました。スレッドには「while(true)」があり、常にメッセージをポップしようとします。
メッセージが返された場合、スレッドは MessageHandler クラスを呼び出し、それが完了すると、別のメッセージを要求します。
これで、10 個の MessageListener を開いて複数のメッセージを処理できるようにアプリケーションを構成しました。
現在、常にループしているスレッドが 10 個あります。
いいデザインですよね??
そのようなシナリオを処理する方法について、誰かが私にいくつかの本やサイトを参照してもらえますか??
ありがとう、ロニー