[jboss-jira] [JBoss JIRA] (WFLY-5081) WebSphere MQ 8 RA - [TCK] - Defining connection factory by @JMSConnectionFactoryDefinition annotation or in deployment descriptor fails
Jeff Mesnil (JIRA)
issues at jboss.org
Thu Jan 28 05:09:00 EST 2016
[ https://issues.jboss.org/browse/WFLY-5081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13154948#comment-13154948 ]
Jeff Mesnil commented on WFLY-5081:
-----------------------------------
I opened a PR for this and was able to modify the helloworld-mdb quickstart to send and receive messages using WSMQ 8 RA. The branch for this is at https://github.com/jmesnil/quickstart/tree/WFLY-5081_JMSConnectionFactoryDefinition/helloworld-mdb (and the commit is https://github.com/jmesnil/quickstart/commit/601a1da2704d1e8543618a72df0061e5e5d1ce83)
Relevant bits are:
{noformat}
@JMSConnectionFactoryDefinition(
name = "java:/jms/myCF1",
interfaceName = "javax.jms.ConnectionFactory",
resourceAdapter = "wmq.jmsra",
properties = {
"channel=CH",
"hostName=10.16.88.195",
"transportType=CLIENT",
"queueManager=QM"
}
)
@JMSDestinationDefinitions(
value = {
@JMSDestinationDefinition(
name = "java:/queue/HELLOWORLDMDBQueue",
interfaceName = "javax.jms.Queue",
className = "com.ibm.mq.connector.outbound.MQQueueProxy",
destinationName = "HelloWorldMDBQueue",
resourceAdapter = "wmq.jmsra",
properties = {
"baseQueueName=Q2",
"baseQueueManagerName=QM"
}
),
@JMSDestinationDefinition(
name = "java:/topic/HELLOWORLDMDBTopic",
interfaceName = "javax.jms.Topic",
className = "com.ibm.mq.connector.outbound.MQTopicProxy",
destinationName = "HelloWorldMDBTopic",
resourceAdapter = "wmq.jmsra",
properties = {
"baseTopicName=T1",
"brokerPubQueueManager=QM"
}
)
})
{noformat}
And this resource-adapters configuration in standalone-full.xml:
{noformat}
<subsystem xmlns="urn:jboss:domain:resource-adapters:4.0">
<resource-adapters>
<resource-adapter id="wmq.jmsra">
<archive>
wmq.jmsra.rar
</archive>
<transaction-support>XATransaction</transaction-support>
</resource-adapter>
</resource-adapters>
</subsystem>
{noformat}
> WebSphere MQ 8 RA - [TCK] - Defining connection factory by @JMSConnectionFactoryDefinition annotation or in deployment descriptor fails
> ---------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-5081
> URL: https://issues.jboss.org/browse/WFLY-5081
> Project: WildFly
> Issue Type: Bug
> Affects Versions: 10.0.0.Beta1
> Reporter: Miroslav Novak
> Assignee: Jeff Mesnil
> Priority: Critical
>
> If WebSphere MQ 8 resource adapter is configured as default resource adapter for MDB in ejb subsystem and MDB is trying to deploy its connection factory like:
> {code}
> @JMSConnectionFactoryDefinition(
> description="Define TopicConnectionFactory AppClientMyTestTopicConnectionFactory",
> interfaceName="javax.jms.TopicConnectionFactory",
> name="java:module/AppClientMyTestTopicConnectionFactory",
> user = "j2ee",
> password = "j2ee",
> )
> {code}
> then deployment fails with:
> {code}
> 11:18:37,471 INFO [org.jboss.as.repository] (DeploymentScanner-threads - 2) WFLYDR0001: Content added at location /home/mnovak/mnovak_home/tmp/tck7/work/jboss-eap-7.0/standalone/data/content/1d/4fbecb4dd1e3a9c03b791cd64c21cd6b7f49de/content
> 11:18:37,475 INFO [org.jboss.as.server.deployment] (MSC service thread 1-7) WFLYSRV0027: Starting deployment of "mdb-1.0-SNAPSHOT.jar" (runtime-name: "mdb-1.0-SNAPSHOT.jar")
> 11:18:37,499 INFO [org.jboss.as.ejb3] (MSC service thread 1-2) WFLYEJB0042: Started message driven bean 'SampleMdb' with 'wmq.jmsra' resource adapter
> 11:18:37,501 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "mdb-1.0-SNAPSHOT.jar")]) - failure description: {"WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.app.\"mdb-1.0-SNAPSHOT\".AppClientMyTestQueueConnectionFactory is missing [jboss.connection-factory.reference-factory.jboss.naming.context.java.app.\"mdb-1.0-SNAPSHOT\".AppClientMyTestQueueConnectionFactory]"]}
> 11:18:37,616 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0010: Deployed "mdb-1.0-SNAPSHOT.jar" (runtime-name : "mdb-1.0-SNAPSHOT.jar")
> 11:18:37,616 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) WFLYCTL0183: Service status report
> WFLYCTL0185: Newly corrected services:
> service jboss.deployment.unit."mdb-1.0-SNAPSHOT.jar".component.SampleMdb.CREATE (new available)
> service jboss.deployment.unit."mdb-1.0-SNAPSHOT.jar".component.SampleMdb.JndiBindingsService (new available)
> service jboss.deployment.unit."mdb-1.0-SNAPSHOT.jar".component.SampleMdb.START (new available)
> service jboss.deployment.unit."mdb-1.0-SNAPSHOT.jar".component.SampleMdb.VIEW.SampleMdb.MESSAGE_ENDPOINT (new available)
> service jboss.deployment.unit."mdb-1.0-SNAPSHOT.jar".component.SampleMdb.ejb.non-functional-timerservice (new available)
> service jboss.deployment.unit."mdb-1.0-SNAPSHOT.jar".jndiDependencyService (new available)
> service jboss.deployment.unit."mdb-1.0-SNAPSHOT.jar".moduleDeploymentRuntimeInformation (new available)
> service jboss.naming.context.java.app."mdb-1.0-SNAPSHOT".AppClientMyTestQueueConnectionFactory (new available)
> service jboss.naming.context.java.app."mdb-1.0-SNAPSHOT".env (new available)
> service jboss.naming.context.java.comp."mdb-1.0-SNAPSHOT"."mdb-1.0-SNAPSHOT".SampleMdb (new available)
> service jboss.naming.context.java.comp."mdb-1.0-SNAPSHOT"."mdb-1.0-SNAPSHOT".SampleMdb.TransactionSynchronizationRegistry (new available)
> service jboss.naming.context.java.comp."mdb-1.0-SNAPSHOT"."mdb-1.0-SNAPSHOT".SampleMdb.UserTransaction (new available)
> service jboss.naming.context.java.module."mdb-1.0-SNAPSHOT"."mdb-1.0-SNAPSHOT".env (new available)
> {code}
> Customer impact:
> Any deployment which needs to define its connection factory in deployment will fail. Customer cannot use @JMSConnectionFactoryDefinition to deploy connection factory.
> Debugging showed that deployment of connection factory defined in @JMSConnectionFactoryDefinition is using messaging activemq extension integration. WebSphereMQ's managed connection factory cannot be added as pooled-connection-factory to messaging-activemq subsystem.
> We need to provide a way 3rd party JMS managed connection factory will be created and registered to JNDI.
> Failing TCK tests failing because of this issue:
> {code}
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#checkClientIDOnDurableConnFactoryTest
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#sendAndRecvQueueTestFromAppClient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#sendAndRecvQueueTestFromEjbClient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#sendAndRecvQueueTestFromJspClient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#sendAndRecvQueueTestFromServletClient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#sendAndRecvTopicTestFromAppClient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#sendAndRecvTopicTestFromEjbClient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#sendAndRecvTopicTestFromJspClient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#sendAndRecvTopicTestFromServletClient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/annotations/Client.java#verifyLookupWithRAElementSpecifiedTest
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#checkClientIDOnDurableConnFactoryTest_from_appclient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#checkClientIDOnDurableConnFactoryTest_from_ejb
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#checkClientIDOnDurableConnFactoryTest_from_jsp
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#checkClientIDOnDurableConnFactoryTest_from_servlet
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#sendAndRecvQueueTest_from_appclient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#sendAndRecvQueueTest_from_ejb
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#sendAndRecvQueueTest_from_jsp
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#sendAndRecvQueueTest_from_servlet
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#sendAndRecvTopicTest_from_appclient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#sendAndRecvTopicTest_from_ejb
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#sendAndRecvTopicTest_from_jsp
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#sendAndRecvTopicTest_from_servlet
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#verifyLookupWithRAElementSpecifiedTest_from_appclient
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#verifyLookupWithRAElementSpecifiedTest_from_ejb
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#verifyLookupWithRAElementSpecifiedTest_from_jsp
> [javatest.batch] FAILED........com/sun/ts/tests/jms/ee20/resourcedefs/descriptor/Client.java#verifyLookupWithRAElementSpecifiedTest_from_servlet
> {cdde}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list