2016-04-29 181 views
0

最近我們在websphere MQ服務器上的AMQERR01.log中發現了以下錯誤。Websphere MQ通道超時AMQ9271錯誤

AMQ9271: Channel 'SVRCONN1' timed out. 
ACTION: 
The return code from the select() [TIMEOUT] 65 seconds call was 0 (X'0'). 
AMQ9999: Channel 'SVRCONN1' to host 'x.x.x.x' ended abnormally. 

dis channel(SVRCONN1) 
    1 : dis channel(SVRCONN1) 
AMQ8414: Display Channel details. 
    CHANNEL(SVRCONN1)     CHLTYPE(SVRCONN) 
    ALTDATE(2015-10-20)      ALTTIME(13.28.54) 
    COMPHDR(NONE)       COMPMSG(NONE) 
    DESCR()        **DISCINT(0)** 
    HBINT(300)        KAINT(AUTO) 
    MAXINST(999999999)      MAXINSTC(999999999) 
    MAXMSGL(4194304)      MCAUSER(busyuser) 
    MONCHL(QMGR)       RCVDATA() 
    RCVEXIT()        SCYDATA() 
    SCYEXIT()        SENDDATA() 
    SENDEXIT()        **SHARECNV(10)** 
    SSLCAUTH(REQUIRED)      SSLCIPH() 
    SSLPEER()        TRPTYPE(TCP) 

我們沒有配置除mcauser以外的任何通道屬性。

另一方面,Web服務器在JBoss環境中使用wmqjms.rar資源適配器,併爲MQ服務器中定義的主題之一創建10個訂閱者。它與SVRCONN1通道進行通信。

在Web服務器上有六個MDB未響應任何發佈在其訂閱的主題上的消息。其餘4人仍然活着並且正確迴應。順便說一下,所有這些MDB具有相同的配置 - 使用相同的QM,SVRCONN1通道,相同的主題...

有6個'通道異常結束'的條目(上面的錯誤)在AMQERR01.log中。

**更新**

資源適配器屬性

connectionConcurrency 1個 MAXCONNECTIONS 50 reconnectionRetryCount 5 reconnectionRetryInterval 300000

可能是什麼超時原因是什麼?這是一個配置問題?

謝謝

+0

您正在使用什麼版本的MQ的?我發現這個關於MQ v7.1的信息http://www-01.ibm.com/support/docview.wss?uid=swg1IV14295 – ValerieLampkin

+0

我們使用7.5.0.4。我看到那個頁面,但無法總結出什麼參數,所以我在原始文章中給出了頻道詳細信息。謝謝回覆。 –

+0

您能否提供SVRCONN1通道的通道定義? –

回答

0

我推薦使用IBM MQ 7.5.0.5。該修補程序級別包含用於JBoss的XA事務恢復的修復程序。

至於日誌記錄的IBM MQ JCA在JBoss中,你可以在你standalone.xml配置IBM共同服務:

<system-properties> 
    <property name="com.ibm.msg.client.commonservices.trace.status" value="OFF"/> 
    <property name="com.ibm.msg.client.commonservices.trace.level" value="0"/> 
    <property name="com.ibm.msg.client.commonservices.trace.append" value="false"/> 
    <property name="com.ibm.msg.client.commonservices.trace.startup" value="true"/> 
    <property name="com.ibm.msg.client.commonservices.trace.maxBytes" value="-1"/> 
    <property name="com.ibm.msg.client.commonservices.trace.limit" value="5000000"/> 
    <property name="com.ibm.msg.client.commonservices.trace.count" value="5"/> 
    <property name="com.ibm.msg.client.commonservices.trace.standalone" value="true"/> 
    <property name="com.ibm.msg.client.commonservices.trace.errorStream" value="${jboss.server.log.dir}/wmq-trace-error.log"/> 
    <property name="com.ibm.msg.client.commonservices.trace.outputName" value="${jboss.server.log.dir}/wmq-trace.log"/> 
    <property name="com.ibm.msg.client.commonservices.log.outputName" value="${jboss.server.log.dir}/wmq.log"/> 
    <property name="com.ibm.msg.client.commonservices.log.status" value="ON"/> 
    <property name="com.ibm.msg.client.commonservices.log.maxBytes" value="-1"/> 
    <property name="com.ibm.msg.client.commonservices.log.limit" value="5000000"/> 
    <property name="com.ibm.msg.client.commonservices.log.count" value="5"/> 
    <property name="com.ibm.msg.client.commonservices.log.append" value="false"/> 
    <property name="com.ibm.msg.client.commonservices.ffst.suppress" value="-1"/> 
</system-properties> 

請注意,此配置會將IBM的MQ日誌在JBoss日誌目錄。

然後,用於記錄配置IBM MQ JCA:

<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"> 
     <resource-adapters> 
      <resource-adapter id="wmq.jmsra.rar"> 
       <archive> 
        wmq.jmsra.rar 
       </archive> 
       <transaction-support>XATransaction</transaction-support> 
       <config-property name="logWriterEnabled"> 
        true 
       </config-property> 
       <config-property name="traceEnabled"> 
        true 
       </config-property> 
       <config-property name="traceLevel"> 
        6 
       </config-property> 

A 'TRACELEVEL' 6是INFO級記錄,而圖3是WARN/ERROR。

wmq-trace.log文件可能有更詳細的超時信息。

+0

感謝@DougGrove,我們按照您的建議啓用了跟蹤。我注意到在websphere mq資源適配器的ra.xml中提到了XATransaction標記,但是在上面給出的資源適配器部分中沒有該標記。 ** XATransaction ** –

+0

如果您願意,我的IBM MQ JCA的完整cnfiguration: –

0

如果你喜歡,我對IBM MQ JCA完整的配置:

<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"> 
     <resource-adapters> 
      <resource-adapter id="wmq.jmsra.7.5.0.4.rar"> 
       <archive> 
        wmq.jmsra.7.5.0.4.rar 
       </archive> 
       <transaction-support>XATransaction</transaction-support> 
       <config-property name="logWriterEnabled"> 
        true 
       </config-property> 
       <config-property name="maxConnections"> 
        100 
       </config-property> 
       <config-property name="traceEnabled"> 
        true 
       </config-property> 
       <config-property name="traceLevel"> 
        6 
       </config-property> 
       <config-property name="connectionConcurrency"> 
        1 
       </config-property> 
+0

再次感謝@DougGrove。我可以知道你對wmq rar中的這些屬性有什麼價值嗎? reconnectionRetryCount,reconnectionRetryInterval? –

+0

我實際上使用「reconnectionRetryCount」= 1000和「reconnectionRetryInterval」= 30000.我增加了計數,因爲我希望MQ JCA重試時間超過默認值。 –