2016-12-28 1 views
1

내 응용 프로그램에서는 Solace MQ를 사용하고 HermesJMS 도구를 사용하여 로컬 환경의 MQ에 메시지를 보냅니다.Solace MQ에 대량 메시지를 보낼 수 없습니다.

MQ에 대량 메일을 보내려고 할 때 아래에서 언급 한 예외가 발생합니다. 나는이 (가) 위안 MQ

Caused by: com.solacesystems.jcsmp.transaction.RollbackException: Transaction '404' unexpectedly rolled back during commit attempt. (((Client name: ILCH-D889198/13740/#00020005 Local addr: 10.80.29.163:51052 Remote addr: appwpcuteai09.ntrs.com:55555) -) com.solacesystems.jcsmp.JCSMPErrorResponseException: 503: Transaction Failure: The number of messages in the transaction exceeds the limit [Subcode:63]) 
       at com.solacesystems.jcsmp.impl.transaction.TSState$StateCommitting.handleAsyncAdCtrl(TSState.java:528) ~[jcsmp-7.0.0.63.jar:?] 
       at com.solacesystems.jcsmp.impl.transaction.TransactedSessionImpl.handleControlMessage(TransactedSessionImpl.java:326) ~[jcsmp-7.0.0.63.jar:?] 
       at com.solacesystems.jcsmp.impl.transaction.TransactedSessionManager.dispatchAssuredCtrlMessage(TransactedSessionManager.java:91) ~[jcsmp-7.0.0.63.jar:?] 
       at com.solacesystems.jcsmp.impl.transaction.TransactedSessionManagerSmf.handleAsyncAssuredCtrlMessage(TransactedSessionManagerSmf.java:167) ~[jcsmp-7.0.0.63.jar:?] 

에서 메시지를 소비하는 봄 통합 코드를 사용하는 것은 INT-JMS 일부 부동산 관련이 예외 : 메시지 구동 채널 어댑터 Spring 통합 또는 위안 MQ의 호텔을 사용했다. 제발 제안 해주세요.

+2

더 자세히 설명해주세요. 'int-jms : message-driven-channel-adapter'가 ** send ** 작업과 어떻게 관련되는지는 완전히 불분명합니다. OTOH의 예외도 꽤 분명합니다. '트랜잭션의 메시지 수가 제한을 초과합니다.' 그래서 Solace MQ에게 어떻게 그러한 문제를 다루는 지 상담하십시오. 또한 "대량 메시지"를 보내는 방법을 확인하는 것이 좋습니다. –

+0

int-jms : 메시지 기반 채널 어댑터는 Solace MQ에서 메시지를 소비하는 데 사용됩니다. 나는 메시지를 MQ에 넣으려고 hermesJMS 통행세를 사용하고 있습니다. 도구에 붙여 넣기 만하면됩니다. –

+1

그리고? 그건 도움이 안돼. 그 예외가있는 곳 –

답변

2

예외는 단일 트랜잭션에서 너무 많은 메시지를 보내는 것을 의미합니다.

현재 Solace는 단일 트랜잭션에서 최대 256 개의 메시지를 지원합니다. 최대치를 높이는 것은 Solace의 기능 후보 목록에 있지만 아직 특정 릴리스에 커밋되지 않았습니다.

현재 유일한 대안은 트랜잭션의 메시지 수를 줄이는 것입니다.

관련 문제