[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