2017-09-08 2 views
1

Nous utilisons WildFly (9.0.2) et une application Java EE dans le déploiement EAR avec des MDB se connectant via un adaptateur de ressources IBM MQ (9.0.0).Le déploiement MDB sur WildFly pour IBM MQ échoue sur l'erreur de connexion

Maintenant, nous faisons l'expérience que lorsque la connexion au serveur MQ n'est pas possible pendant le déploiement, le déploiement échoue:

java.lang.RuntimeException: 
com.ibm.mq.connector.DetailedResourceAdapterInternalException: 
MQJCA1011: Failed to allocate a JMS connection., error code: MQJCA1011 
An internal error caused an attempt to allocate a connection to fail. 

Ce comportement est mauvais, car l'application doit être disponible indépendamment de cette interface de messagerie et devrait continuer d'autres déploiements et essayez ensuite de vous reconnecter au serveur.

Dans un projet parallèle, nous avons effectué la même configuration sur un serveur SonicMQ qui se comportait de cette manière. Comment puis-je configurer IBM MQ RA pour accepter la déconnexion lors du déploiement et réessayer pendant l'exécution de l'application?

Répondre

3

J'ai eu le même problème. Résolu en définissant la propriété startupRetryCount à (valeur par défaut est) dans la version autonome-full.xml:

<subsystem xmlns="urn:jboss:domain:resource-adapters:3.0"> 
     <resource-adapters> 
      <resource-adapter id="wmq.jmsra.rar"> 
       <archive> 
        wmq.jmsra.rar 
       </archive> 
       <config-property name="startupRetryCount"> 
        1 
       </config-property> 

Après avoir réglé cette propriété, je reçu le message d'information suivant dans le journal wildfly

[org.jboss.as.connector.deployers.RaXmlDeployer] (JMSCCThreadPoolWorker-5) wmq.jmsra.rar: MQJCA4014:Failed to reconnect one or more MDBs after a connection failure. 

et les MDB déployés.

Espérons que cela résout pour vous aussi!

+0

Incroyable - pour moi, le nom de la propriété suggère, qu'il serait juste essayer une fois de plus, mais se comporter de la même manière, mais il semble vraiment le faire continuer après la nouvelle tentative - merci! –