私は、コンポーネントのメッセージングソリューションとしてRabbitMQを使用するシステムを構築しています。しかし、私はEJBとしてGlassFishアプリケーションサーバー上でディスクIO集中型タスクを実行するいくつかの従来のEJB Javaコードを持っています。私はそのコードを書き直したくないので、そのコードとやりとりする方法を見つけたいと思います。私はただRabbitMQ Javaクライアントを使うことができると知っていますが、どのようにメッセージ抑制に対処するのか分かりませんが、4つのタスクが同じ時間に実行されているというだけではなく、メッセージ駆動型GlassFishのBean。GlassFishのRabbitMQベースのメッセージ駆動型Bean
私が思いついた唯一の事は、PostConstructでタイマーを開始するシングルトンEJBで、そのタイマーがAMQPクライアントの受信ループをブロックすることになります。受信したAMQPメッセージをローカルのGlassFish JMSプロバイダにコピーしてMDBでポーリングすることもできますが、これを気に入らないのは、いくつかのGlassFish JMSプロバイダを監視して、状況を確認する必要があるからですRabbitMQ。
私はAMQPとJMSを相互接続する方法に関する情報を見つけるのに苦労しています。任意のアイデアが評価されます。
RabbitMQにはJMS機能はありません( –
)。amqpブローカーは他のamqpブローカーと互換性があり、どの会社もamqp用のjms実装を提供でき、すべてのブローカー実装で機能します。ここではRabbitMQがサイトからリンクしています。http://www.lshift.net/blog/2009/03/16/openamqs-jms-client-with-rabbitmq-server – Fen
そのリポジトリは存在しません。 –