2016-04-04 9 views
1

Ich habe eine Federkernanwendung mit Konfiguration unten.Mq Verbindungsfehler 2058

Ich benutze UserCredentialsConnectionFactoryAdapter, MQQueueConnectionFactory und Jms-Listener.

<jms:listener-container container-type="default" 
    connection-factory="userConnectionFactory" acknowledge="auto"> 
     <jms:listener destination="${QUEUE_NAME_IN_GEN}" ref="messageListener" 
     method="onMessage" /> 
    </jms:listener-container> 

    <bean id="userConnectionFactory" 
    class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter"> 
     <property name="targetConnectionFactory"> 
      <ref bean="mqConnectionFactory" /> 
     </property> 
     <property name="username" value="${MQ_USER_ID}" /> 
    </bean> 

    <bean id="mqConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory"> 
    <property name="hostName"> 
     <value>${MQ_HOST_NAME}</value> 
    </property> 
    <property name="port"> 
     <value>${MQ_PORT}</value> 
    </property> 
    <property name="queueManager"> 
     <value>${QUEUE_MANAGER}</value> 
    </property> 
    <property name="transportType"> 
     <value>1</value> 
    </property> 
</bean> 

beim Start der Anwendung, hört Hörer perfekt eine Maschine. , wenn ich mit dem gleichen Artefakte auf einem anderen Server versuche, schlagen Zuhörer mit folgendem Fehler zu starten:

[org.springframework.jms.listener.DefaultMessageListenerContainer#0-1] ERROR org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:909) - Could not refresh JMS Connection for destination 'R.ABCDEF' - retrying in 5000 ms. Cause: MQJMS2005: failed to create MQQueueManager for 'myhost:dev'; nested exception is com.ibm.mq.MQException: MQJE001: An MQException occurred: Completion Code 2, Reason 2058 
MQJE036: Queue manager rejected connection attempt 

Um herauszufinden, ob es etwas ist, mit Unix-Account Privileg Problem auf dem zweiten Server zu tun, schrieb ich eine einfache MQ Clientanwendung Dieses Programm kann eine Verbindung zu diesem Warteschlangenmanager herstellen und Nachrichten daraus lesen.

Was könnte sonst noch falsch sein?

Antwort

0

A 2058 schlägt vor, dass der Name des Warteschlangenmanagers falsch ist. Laut dem technischen Hinweis von IBM ist dies die häufigste Ursache, es gibt jedoch auch andere.

Der folgende Auszug aus dieser technote genommen:

Ensure that the queue manager name is specified correctly on:

  • MQCONN API calls
  • QREMOTE object definitions
  • Client connection channel definitions

Debugging QCF, TCF, or Client connection problems are much more complex.

  • Ensure that the connection request is routed to the intended machine and queue manager.
  • Verify that the listener program is starting the channel on the correct queue manager.
  • Ensure that the specifications for the client environment variables are correct.
  • mqserver
  • mqchllib
  • mqchltab

If you are using a client channel table (amqclchl.tab), then verify that your client connection channel definition has the correct queue manager name (QMNAME) specified.

  • Specify the correct queue manager name.
  • Correct channel routing problems.
  • Correct inetd listener configuration problems.
  • Correct client related configuration problems.