WMQ 7.5 with WildFly 8.1
erikdr2015 Jan 8, 2015 6:36 AMHi friends,
Sorry for a slighly vague question but it's early days of our attempt to PoC WildFly to replace WebSphere. We try the MQ side (sorry for now sticking to WMQ as we don't want extensive application changes for other JMS providers, and the landscape for the near future will need to integrate with lots of non-JBoss MQ servers.)
1] Exerpt from standalone-full.xml:
<subsystem xmlns="urn:jboss:domain:resource-adapters:2.0">
<resource-adapters>
<resource-adapter id="wmq.jmsra.rar">
<archive>
wmq.jmsra.rar
</archive>
<transaction-support>NoTransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name="java:jboss/jms/SendCF" enabled="true" use-java-context="false" pool-name="SendCF">
<config-property name="port">
10423
</config-property>
<config-property name="hostName">
rs94aso7.ourdomain
</config-property>
<config-property name="channel">
WILDFLY.POC.SVRCONN
</config-property>
<config-property name="transportType">
CLIENT
</config-property>
<config-property name="queueManager">
MQMMI05
</config-property>
</connection-definition>
</connection-definitions>
<admin-objects>
<admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/jms/destQ" enabled="true" use-java-context="false" pool-name="destQ">
<config-property name="baseQueueManagerName">
MQMMI05
</config-property>
<config-property name="baseQueueName">
FROMWASQ
</config-property>
</admin-object>
</admin-objects>
</resource-adapter>
</resource-adapters>
</subsystem>
(WMQ 7.5 instructions, probably for an older JBosss version, assume a separate -ds.xml file but fields are roughly same as here; I copied the xml fields from another thread on JBoss 8 with WMQ, hopefully the direction chosen is proper.)
2] Then the error Wildfly gives when activating the deployment:
"failure-description" => {"JBAS014771: Services with missing/unavailable dependencies" => [
"jboss.naming.context.java.comp.JmsTestEAR.JmsTestEJB.MessageSender.env.jms.destQ is missing [jboss.naming.context.java.jboss.resources.jms.destQ]",
"jboss.naming.context.java.module.JmsTestEAR.JmsTestWeb.env.jms.destQRef is missing [jboss.naming.context.java.jboss.resources.jms.destQRef]"
]},
3] Finally some more background about the JMSTestEAR (we browsed through it from WebSphere, haven't seen a way for similar from JBoss yet) :
JmsTestEJB MessageSender JmsTestEJB.jar,META-INF/ejb-jar.xml jms/DestQ
Resource authorization: Container
Authentication method: None
JmsTestWeb JmsTestWeb.war,WEB-INF/web.xml jms/DestQRef
Resource authorization: Container
Authentication method: None
xmlns:resources.jms.mqseries="http://www.ibm.com/websphere/appserver/schemas/5.0/resources.jms.mqseries.xmi" xmlns:resources.jms="http://www.ibm.com/websphere/appserver/schemas/5.0/resources.jms.xmi" xmi:version="2.0"><resources.jms:JMSProvider externalProviderURL="" externalInitialContextFactory="" description="V5
Default Messaging Provider" name="WebSphere JMS Provider" xmi:id="builtin_jmsprovider"/><resources.jms:JMSProvider externalProviderURL="" externalInitialContextFactory="" description="WebSphere MQ Messaging Provider" name="WebSphere MQ JMS Provider" xmi:id="builtin_mqprovider"><factories name="FROMWASQ2" xmi:id="MQQueue_1334218231985" replyToStyle="DEFAULT" messageBody="UNSPECIFIED" mqmdMessageContext="DEFAULT" mqmdWriteEnabled="false" mqmdReadEnabled="false" readAhead="QUEUE_DEFINED" sendAsync="QUEUE_DEFINED" queueManagerPort="1414" targetClient="JMS" floatingPointEncoding="IEEENormal" decimalEncoding="Normal" integerEncoding="Normal" useNativeEncoding="true" CCSID="1208" baseQueueName="FROMWASQ2" specifiedExpiry="0" expiry="APPLICATION_DEFINED" specifiedPriority="0" priority="APPLICATION_DEFINED" persistence="APPLICATION_DEFINED" jndiName="jms/harmonizer/queue/harmonize-berichten" xmi:type="resources.jms.mqseries:MQQueue"/><factories description="QCF tbv JmsTestEar applicatie" name="SendCF" xmi:id="MQQueueConnectionFactory_1349355518193" CCSID="819" jndiName="jms/SendCF" xmi:type="resources.jms.mqseries:MQQueueConnectionFactory" clientReconnectTimeout="1800" clientReconnectOptions="RECONNECT" sslResetCount="0" rescanInterval="5000" pollingInterval="5000" failIfQuiesce="true" tempModel="SYSTEM.DEFAULT.MODEL.QUEUE" transportType="CLIENT" channel="SYSTEM.DEF.SVRCONN" port="1414" host="*" queueManager="*" XAEnabled="true" xaRecoveryAuthAlias="n-rs94atb7-sbx01-01/testUser"><propertySet xmi:id="J2EEResourcePropertySet_1405862465747"><resourceProperties name="CDTURL" xmi:id="J2EEResourceProperty_1405862465747" type="java.lang.String" required="false" value="file:///tmp/MQMCL.TAB"/><resourceProperties name="QMANAGER" xmi:id="J2EEResourceProperty_1405862512186" type="java.lang.String" required="false" value="*MQMCL"/></propertySet><connectionPool xmi:id="ConnectionPool_1349355518492" purgePolicy="EntirePool"/><mapping xmi:id="MappingModule_1349355518612" authDataAlias="n-rs94atb7-sbx01-01/testUser" mappingConfigAlias="DefaultPrincipalMapping"/><sessionPool xmi:id="ConnectionPool_1349355518551"/></factories><factories name="FROMWASQ" xmi:id="MQQueue_1349356219114" replyToStyle="DEFAULT" messageBody="UNSPECIFIED" mqmdMessageContext="DEFAULT" mqmdWriteEnabled="false" mqmdReadEnabled="false" readAhead="QUEUE_DEFINED" sendAsync="QUEUE_DEFINED" queueManagerPort="1414" targetClient="JMS" floatingPointEncoding="IEEENormal" decimalEncoding="Normal" integerEncoding="Normal" useNativeEncoding="true" CCSID="1208" baseQueueName="FROMWASQ" specifiedExpiry="0" expiry="APPLICATION_DEFINED" specifiedPriority="0" priority="APPLICATION_DEFINED" persistence="APPLICATION_DEFINED" jndiName="jms/destQ" xmi:type="resources.jms.mqseries:MQQueue"/></resources.jms:JMSProvider>