次のエラーが表示されます。
javax.jms.ResourceAllocationException: [C4073]: A JMS destination limit was reached. Too many Subscribers/Receivers for Queue
セットアップは、1 つのプロバイダーと 2 つのコンシューマーが存在するように行われました。このエラーが発生する理由は、それがキューであり、1 つのプロバイダーと 1 つのコンシューマーしか持てないためですか?
JMS のキューはポイント ツー ポイント メカニズムです。複数のコンシューマがある場合は使用しないでください。そのためにトピックを使用する必要があります。
必要に応じて完全なコードを投稿してください。コードが何を行っているかが明確ではないため、さらに支援できるようにします。
JMS の基本概念 http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/basics.html
そうは言っても、Sun によると、これはこのエラーの情報です。
C4073
Message A JMS destination limit was reached. Too many Subscribers/Receivers for {0} : {1}
{0} is replaced with “Queue” or “Topic” {1} is replaced with the destination name.
Cause The client runtime was unable to create a message consumer for the specified domain and destination due to a broker resource constraint.
実際には、複数のコンシューマーでキューを使用できます。トピックは、あなたが望むものではないかもしれません。トピックはパブリッシュ/サブスクライブ モデルとして機能し、各コンシューマーがメッセージのコピーを取得します。一方、キューでは、JMS プロバイダーはメッセージを 1 つのコンシューマーにのみディスパッチする必要があります。
JMS プロバイダーに構成設定があり、キューごとに 1 つのコンシューマーに制限されている可能性があります。私は ActiveMQ for JMS しか使用していませんが、1 つのキューに複数のコンシューマーを含めることができます。基本的には、コンシューマー間で要求の負荷を分散します。