0

mockresponse テスト ステップを持つ testCase があり、エンドポイントは weblogic jms キュー jms://WLS::-::queue_SouthboundOutboundQueue から読み取っています。

weblogic からのメッセージが「10000000」バイトに達すると、このテスト ステップはテストケースの実行中にメッセージの消費を停止します。

次のようなグルーヴィーなスクリプトからキューを読み取ろうとしました:

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: -Dweblogic.MaxMessageSize=2000000000 を追加したため、Weblogic は大きなメッセージを処理しています。また、soapui および hermes sh および bat スターター ファイルにこのパラメーターを追加しようとしましたが、何も機能しませんでした。

4

0 に答える 0