我正在尝试在我的webapp中使用消息驱动的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资源”向导也不会询问有关此参数的任何信息。
有没有办法解决它?
答案 0 :(得分:2)
为什么你的信息如此之大?您可能想重新考虑如何做到这一点。
...
您可以通过imqcmd命令进行更新。您要更改的值是MaxBytesPerMsg。
来自SunGlassFish MessageQueue 4.4 Administration Guide或4.2 guide。
更新物理目的地属性
子命令imqcmd update dst更改物理的指定属性的值 目的地:
imqcmd update dst -t destType -n destName
-o property1=value1 [ [-o property2=value2] ... ]
要更新的属性可以包括表18-1中列出的任何属性(isLocalOnly属性除外,创建目标后无法更改)。
例如,以下命令更改队列的maxBytesPerMsg属性 目标curlyQueue为1000,maxNumMsgs属性为2000:
imqcmd update dst -t q -n curlyQueue -u admin
-o maxBytesPerMsg=1000
-o maxNumMsgs=2000