2016-12-28 40 views
1

在我的應用程序中,我們使用Solace MQ並使用HermesJMS工具在本地環境中向MQ發送消息。無法發送批量消息到Solace MQ

當我嘗試發送批量消息到MQ我得到下面提到的例外。我使用Spring集成代碼從慰藉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的消息。我正在使用hermesJMS收費來將消息放到MQ上。其簡單的複製粘貼在工具中。 –

+1

而且?這沒有幫助。你在哪裏有這樣的例外 –

回答

2

異常意味着您在單個事務中發送太多消息。

到目前爲止,Solace在一次交易中最多支持256條消息。增加最大值是在Solace的候選功能列表上,但尚未提交到特定版本。

現在,唯一的解決方法是減少事務中的消息數量。