WL9.X系でJMSを使うことになりまして、まあ今まで色々調べてきたんですが、ついつい忘れがちになってしまいそうな部分を。 Q. JMSキューの最大メッセージ数はどこで指定できるのか/されているのか? A. JMSサーバーの「コンフィギュレーション」→「しきい値と割り当て」→「割り当て」の「最大メッセージ数」で指定できます。(キュー自体ではなくJMSサーバーの設定に属するらしい) これを超過すると、以下のような例外がプロデューサ側で発生します。 weblogic.jms.common.ResourceAllocationException: weblogic.messaging.kernel.QuotaException: Quota JMSServer-0.Quota.1162782914171 exceeded: Request: 58 bytes. Quota: bytes = 156 / 9223372036854775807 messages = 6 / 6 policy = FIFO outstanding blocking request false 同じ設定画面に「しきい値」というのもあります。例えばここで指定した「最大メッセージしきい値」を超えると、WebLogicのログに以下のログが出力されます。 <2006/11/06 12時21分15秒 JST> また、受信側が動いてメッセージを刈り取っていき、「最小メッセージしきい値」を下回ると、WebLogicのログに以下のログが出力されます。 <2006/11/06 12時21分53秒 JST> ちなみに「一つのメッセージは最大何バイトまでか」については、キューの「コンフィギュレーション」→「しきい値と割り当て」→「割り当て」の「最大メッセージサイズ」で設定可能です。(再起動不要) メッセージをずらずらと送信していくと、おおよそ指定したメッセージサイズほど送信し終えた後の送信で、 weblogic.jms.common.ResourceAllocationException: weblogic.messaging.kernel.QuotaException: Maximum message size exceeded - allowable size for kernel is 2147483647, and allowable size for destination is 32 and your message's size is 33 というログが出力されました。 受信側では、この例外が出たメッセージだけ、受信できませんでした。