0

我有一个带有模拟响应测试步骤的 testCase,并且端点正在从 weblogic jms 队列 jms://WLS::-::queue_SouthboundOutboundQueue 中读取。

当来自 weblogic 的消息达到“10000000”字节时,此测试步骤将停止在测试用例运行中消耗该消息。

尝试从这样的 groovy 脚本中读取队列:

def jmsEndPoint = new JMSEndpoint("jms://WLS::-::queue_SouthboundOutboundQueue");
log.debug(jmsEndPoint.sessionName);
def hermes = HermesUtils.getHermes(context.testCase.testSuite.project, jmsEndPoint.sessionName);
def jmsConnectionHolder = new JMSConnectionHolder(jmsEndPoint,hermes,false,null,null,null);
Session session = jmsConnectionHolder.getSession();
Queue queue = jmsConnectionHolder.getQueue(jmsConnectionHolder.getJmsEndpoint().getReceive());
MessageConsumer consumer = session.createConsumer(queue);
Message message = null;
def count = 0;
while((message = consumer.receiveNoWait()) != null){
    //error happens here when it is consumed
    count++;
}    

阅读大消息时 groovy 抛出的错误

在此处输入图像描述

weblogic.jms.common.JMSException:weblogic.messaging.dispatcher.DispatcherException:weblogic.rjvm.PeerGoneException:;嵌套异常是:weblogic.socket.MaxMessageSizeExceededException:传入消息的大小:“10000080”字节超过配置的最大值:“10000000”字节协议:“t3”行错误:22

PS:Weblogic 正在处理大消息,因为我在其中添加了 -Dweblogic.MaxMessageSize=2000000000。还尝试在 soapui 和 hermes sh 和 bat 启动文件上添加此参数,但没有任何效果。

4

0 回答 0