home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2006/11/06/WebLogicでのJMSキューの最大メッセージ数

日記/2006/11/06/WebLogicでのJMSキューの最大メッセージ数

日記 / 2006 / 11 / 06 / WebLogicでのJMSキューの最大メッセージ数
id: 294 所有者: msakamoto-sf    作成日: 2006-11-06 10:29:30
カテゴリ: Java 

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> <Alert> <JMS> <BEA-040026> <JMSServer "JMSServer-0" で、
送り先 SystemModule-0!Queue-0 のメッセージのしきい値を超過しました。>

また、受信側が動いてメッセージを刈り取っていき、「最小メッセージしきい値」を下回ると、WebLogicのログに以下のログが出力されます。

<2006/11/06 12時21分53秒 JST> <Alert> <JMS> <BEA-040027> <JMSServer "JMSServer-0" で、
送り先 SystemModule-0!Queue-0 のメッセージのしきい値条件をクリアしました。>

ちなみに「一つのメッセージは最大何バイトまでか」については、キューの「コンフィギュレーション」→「しきい値と割り当て」→「割り当て」の「最大メッセージサイズ」で設定可能です。(再起動不要)

メッセージをずらずらと送信していくと、おおよそ指定したメッセージサイズほど送信し終えた後の送信で、

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

というログが出力されました。
受信側では、この例外が出たメッセージだけ、受信できませんでした。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-05 10:35:52
md5:8d6978c9b84c1b664249538f2075d489
sha1:11e82d66cc266db3d3f6d88751ba947985c9a164
コメント
コメントを投稿するにはログインして下さい。