2

Web アプリケーションでメッセージ駆動型 Bean を使用しようとしていますが、毎回この例外がスローされます。

com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4122]: Can not add message 1-127.0.1.1(b0:1a:c1:66:46:a9)-1-1336769823653 to destination PhysicalQueue [Queue]. The message size of 24968685 bytes is larger than the destination individual message byte limit (maxBytesPerMsg) of 10485760 bytes.

いくつかの調査の後、デフォルトの制限が-1であることがわかったので、無制限にする必要があります。

Glassfish の管理コンソールを隅々まで調べましたが、この制限を解除する方法が見つかりませんでした。「新しい JMS リソース」ウィザードでさえ、このパラメーターについて何も尋ねません。

それを修正する方法はありますか?

4

1 に答える 1

2

なぜあなたのメッセージはとても大きいのですか?これをどのように行っているかを再考することをお勧めします。

...。

imqcmdコマンドを使用して更新できます。変更する値はMaxBytesPerMsgです。

SunGlassFishMessageQueue4.4管理ガイドまたは4.2ガイドから。

物理的な宛先プロパティの更新

サブコマンドimqcmdupdatedstは、物理的な宛先の指定されたプロパティの値を変更します。

imqcmd update dst -t destType -n destName
                   -o property1=value1 [ [-o property2=value2] ... ]

更新されるプロパティには、表18–1にリストされているプロパティのいずれかを含めることができます(宛先が作成されると変更できないisLocalOnlyプロパティを除く)。

たとえば、次のコマンドは、キューの宛先curlyQueueのmaxBytesPerMsgプロパティを1000に変更し、maxNumMsgsプロパティを2000に変更します。

imqcmd update dst -t q -n curlyQueue -u admin
                  -o maxBytesPerMsg=1000
                  -o maxNumMsgs=2000
于 2012-05-11T22:17:51.417 に答える