javax.jms.JMSException: MQJCA1026:Invalid operation for a domain specific object.

Spring JIRA | dzmonkey | 4 years ago
  1. 0

    We will retrive/send jms message via spring jms support, the jms provider is jboss middleware, the destination MQ is IBM WebSphereMQ. env: Spring 3.0.5 + JBoss eap 5.0 + WebSphere MQ v6.0 1. Firstly, copy the resource adapter "wmq.jmsra.rar"(retrived from wmq6.0 client) to jboss's "deploy" directory, and write *-ds.xml to register the connectioFactory and queue via jndi name. 2. In Spring, a DMLC bean is registerd: <jee:jndi-lookup id="tums.cf" jndi-name="java:jms/tumsConnectionFactory" expected-type="javax.jms.QueueConnectionFactory" proxy-interface="javax.jms.QueueConnectionFactory" lookup-on-startup="true" cache="true" /> <jee:jndi-lookup id="tums.queue" jndi-name="jms/tumsGetQueue" expected-type="javax.jms.Queue" proxy-interface="javax.jms.Queue" lookup-on-startup="true" cache="true" /> <bean id="messageListener" class="org.springframework.jms.listener.adapter.MessageListenerAdapter"> <constructor-arg ref="messageListenerService" /> <property name="defaultListenerMethod" value="onMessage" /> </bean> <bean id="messageListenerService" class="com.travelsky.espeed.eds.jms.handler.MessageListener"> </bean> <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="tums.cf" /> <property name="destination" ref="tums.queue" /> <property name="messageListener" ref="messageListener" /> <property name="idleTaskExecutionLimit" value="1" /> <property name="maxConcurrentConsumers" value="1" /> <property name="concurrentConsumers" value="1" /> <property name="cacheLevelName" value="CACHE_CONSUMER" /> </bean> 3. When jboss is starting, we confirm that the JNDI is bounded successfully! But when spring attempt to create connection, the exception is thrown as below: 2012-10-09 13:28:49,564 DEBUG [org.springframework.jms.listener.DefaultMessageListenerContainer] (main) Could not establish shared JMS Connection - leaving it up to asynchronous invokers to establish a Connection as soon as possible javax.jms.JMSException: MQJCA1026:Invalid operation for a domain specific object. at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:113) at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:78) at com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl.createConnection(QueueConnectionFactoryImpl.java:75) at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184) at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:403) at org.springframework.jms.listener.AbstractJmsListeningContainer.establishSharedConnection(AbstractJmsListeningContainer.java:371) at org.springframework.jms.listener.DefaultMessageListenerContainer.establishSharedConnection(DefaultMessageListenerContainer.java:749) at org.springframework.jms.listener.AbstractJmsListeningContainer.doStart(AbstractJmsListeningContainer.java:278) at org.springframework.jms.listener.AbstractJmsListeningContainer.start(AbstractJmsListeningContainer.java:263) at org.springframework.jms.listener.DefaultMessageListenerContainer.start(DefaultMessageListenerContainer.java:555) at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:166) at org.springframework.context.support.DefaultLifecycleProcessor.access$1(DefaultLifecycleProcessor.java:154) at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:335) at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:143) at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:108) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:908) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4389) at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310) at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142) at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461) at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118) at org.jboss.web.deployers.WebModule.start(WebModule.java:97) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206) at $Proxy38.start(Unknown Source) at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42) at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37) at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:297) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:823) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) at org.jboss.system.ServiceController.doChange(ServiceController.java:688) at org.jboss.system.ServiceController.start(ServiceController.java:460) at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46) at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171) at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1440) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1158) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1179) at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1099) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:823) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:782) at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702) at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117) at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70) at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53) at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:775) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540) at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308) at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:256) at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461) at org.jboss.Main.boot(Main.java:221) at org.jboss.Main$1.run(Main.java:556) at java.lang.Thread.run(Thread.java:662) and then Spring attempt to refresh connections repeatly: 2012-10-09 13:28:54,732 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] (listenerContainer-1) Could not refresh JMS Connection for destination 'queue://QM_TUMS/QL_PUBSUB_OUT_ESPEED' - retrying in 5000 ms. Cause: MQJCA1026:Invalid operation for a domain specific object. javax.jms.JMSException: MQJCA1026:Invalid operation for a domain specific object. ....... ps-1: We debug spring DMLC and related classes, we find that Spring always getConnectionFactory() from the container, and invoke createConnection() mehtod to create a single or share connection. But the wmq's connector in mqconnector.jar in "wmq.jmsra.rar", we recompile the connector classes (sorry to IBM), find: QueueConnectionFactoryImpl.class public Connection createConnection() throws JMSException { throw ((JMSException)JCAExceptionBuilder.buildException(3, "MQJCA1026")); } So we think THAT is the reason for the exceptions above. ps-2: We don't know wmq's connector's behaivor about createConnection() method, maybe it's available for JMS 1.0.2 only, not JMS 1.1? So we update wmq's connector, using "wmq.jmsra.rar" retrived from WebSphere MQ v7.5, but the error reoccurs: 2012-10-12 10:00:59,382 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] (listenerContainer-1) Could not refresh JMS Connection for destination 'queue://QM_TUMS/QL_PUBSUB_OUT_ESPEED' - retrying in 5000 ms. Cause: MQJCA1026: 对特定于域的对象的操作无效。 com.ibm.msg.client.jms.DetailedJMSException: MQJCA1026: 对特定于域的对象的操作无效。 JMS 应用程序试图对特定于域的对象执行操作,但该操作仅对跨域对象或在其他消息传递域中有效。 确保应用程序使用的 JMS 对象与所需的消息传递域相关。 at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:146) at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:91) at com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl.createConnection(QueueConnectionFactoryImpl.java:119) at com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl.createConnection(QueueConnectionFactoryImpl.java:98) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196) at $Proxy148.createConnection(Unknown Source) at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184) at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:403) at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:388) at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:856) at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:838) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:969) at java.lang.Thread.run(Thread.java:662) We recompile the connector classes com.ibm.mq.connector.jar (same as mqconnector.jar)(sorry to IBM), find: QueueConnectionFactoryImpl.class public Connection createConnection() throws JMSException { return createConnection(null, null); } public Connection createConnection(String username, String password) throws JMSException { if (ResourceAdapterImpl.getJCARuntimeHelper().getEnvironment() != 1) { return createQueueConnection(username, password); } throw ((JMSException)JCAExceptionBuilder.buildException(3, "MQJCA1026")); } But how we can make "ResourceAdapterImpl.getJCARuntimeHelper().getEnvironment() != 1"? If you run the application in WAS container, it will not be 1! My God, that is the reason why I play the application successfully in WAS v6.0 but NOT in JBoss or any other containers, faint! ps-3: Now we try to use DMLC102 to test because DMLC102 explicitly invoke createQueueConnection() method but createConnection() for generic JMS 1.1 spec. It worked. But XX102 is deprecated by spring... Can Spring make the createConnection() or createQueueConnection() compatible? or resolve the wmq connector's incompatible?

    Spring JIRA | 4 years ago | dzmonkey
    javax.jms.JMSException: MQJCA1026:Invalid operation for a domain specific object.
  2. 0

    We will retrive/send jms message via spring jms support, the jms provider is jboss middleware, the destination MQ is IBM WebSphereMQ. env: Spring 3.0.5 + JBoss eap 5.0 + WebSphere MQ v6.0 1. Firstly, copy the resource adapter "wmq.jmsra.rar"(retrived from wmq6.0 client) to jboss's "deploy" directory, and write *-ds.xml to register the connectioFactory and queue via jndi name. 2. In Spring, a DMLC bean is registerd: <jee:jndi-lookup id="tums.cf" jndi-name="java:jms/tumsConnectionFactory" expected-type="javax.jms.QueueConnectionFactory" proxy-interface="javax.jms.QueueConnectionFactory" lookup-on-startup="true" cache="true" /> <jee:jndi-lookup id="tums.queue" jndi-name="jms/tumsGetQueue" expected-type="javax.jms.Queue" proxy-interface="javax.jms.Queue" lookup-on-startup="true" cache="true" /> <bean id="messageListener" class="org.springframework.jms.listener.adapter.MessageListenerAdapter"> <constructor-arg ref="messageListenerService" /> <property name="defaultListenerMethod" value="onMessage" /> </bean> <bean id="messageListenerService" class="com.travelsky.espeed.eds.jms.handler.MessageListener"> </bean> <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="tums.cf" /> <property name="destination" ref="tums.queue" /> <property name="messageListener" ref="messageListener" /> <property name="idleTaskExecutionLimit" value="1" /> <property name="maxConcurrentConsumers" value="1" /> <property name="concurrentConsumers" value="1" /> <property name="cacheLevelName" value="CACHE_CONSUMER" /> </bean> 3. When jboss is starting, we confirm that the JNDI is bounded successfully! But when spring attempt to create connection, the exception is thrown as below: 2012-10-09 13:28:49,564 DEBUG [org.springframework.jms.listener.DefaultMessageListenerContainer] (main) Could not establish shared JMS Connection - leaving it up to asynchronous invokers to establish a Connection as soon as possible javax.jms.JMSException: MQJCA1026:Invalid operation for a domain specific object. at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:113) at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:78) at com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl.createConnection(QueueConnectionFactoryImpl.java:75) at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184) at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:403) at org.springframework.jms.listener.AbstractJmsListeningContainer.establishSharedConnection(AbstractJmsListeningContainer.java:371) at org.springframework.jms.listener.DefaultMessageListenerContainer.establishSharedConnection(DefaultMessageListenerContainer.java:749) at org.springframework.jms.listener.AbstractJmsListeningContainer.doStart(AbstractJmsListeningContainer.java:278) at org.springframework.jms.listener.AbstractJmsListeningContainer.start(AbstractJmsListeningContainer.java:263) at org.springframework.jms.listener.DefaultMessageListenerContainer.start(DefaultMessageListenerContainer.java:555) at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:166) at org.springframework.context.support.DefaultLifecycleProcessor.access$1(DefaultLifecycleProcessor.java:154) at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:335) at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:143) at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:108) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:908) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4389) at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310) at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142) at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461) at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118) at org.jboss.web.deployers.WebModule.start(WebModule.java:97) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206) at $Proxy38.start(Unknown Source) at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42) at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37) at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:297) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:823) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) at org.jboss.system.ServiceController.doChange(ServiceController.java:688) at org.jboss.system.ServiceController.start(ServiceController.java:460) at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46) at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171) at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1440) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1158) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1179) at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1099) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:823) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:782) at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702) at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117) at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70) at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53) at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:775) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540) at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308) at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:256) at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461) at org.jboss.Main.boot(Main.java:221) at org.jboss.Main$1.run(Main.java:556) at java.lang.Thread.run(Thread.java:662) and then Spring attempt to refresh connections repeatly: 2012-10-09 13:28:54,732 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] (listenerContainer-1) Could not refresh JMS Connection for destination 'queue://QM_TUMS/QL_PUBSUB_OUT_ESPEED' - retrying in 5000 ms. Cause: MQJCA1026:Invalid operation for a domain specific object. javax.jms.JMSException: MQJCA1026:Invalid operation for a domain specific object. ....... ps-1: We debug spring DMLC and related classes, we find that Spring always getConnectionFactory() from the container, and invoke createConnection() mehtod to create a single or share connection. But the wmq's connector in mqconnector.jar in "wmq.jmsra.rar", we recompile the connector classes (sorry to IBM), find: QueueConnectionFactoryImpl.class public Connection createConnection() throws JMSException { throw ((JMSException)JCAExceptionBuilder.buildException(3, "MQJCA1026")); } So we think THAT is the reason for the exceptions above. ps-2: We don't know wmq's connector's behaivor about createConnection() method, maybe it's available for JMS 1.0.2 only, not JMS 1.1? So we update wmq's connector, using "wmq.jmsra.rar" retrived from WebSphere MQ v7.5, but the error reoccurs: 2012-10-12 10:00:59,382 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] (listenerContainer-1) Could not refresh JMS Connection for destination 'queue://QM_TUMS/QL_PUBSUB_OUT_ESPEED' - retrying in 5000 ms. Cause: MQJCA1026: 对特定于域的对象的操作无效。 com.ibm.msg.client.jms.DetailedJMSException: MQJCA1026: 对特定于域的对象的操作无效。 JMS 应用程序试图对特定于域的对象执行操作,但该操作仅对跨域对象或在其他消息传递域中有效。 确保应用程序使用的 JMS 对象与所需的消息传递域相关。 at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:146) at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:91) at com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl.createConnection(QueueConnectionFactoryImpl.java:119) at com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl.createConnection(QueueConnectionFactoryImpl.java:98) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196) at $Proxy148.createConnection(Unknown Source) at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184) at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:403) at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:388) at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:856) at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:838) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:969) at java.lang.Thread.run(Thread.java:662) We recompile the connector classes com.ibm.mq.connector.jar (same as mqconnector.jar)(sorry to IBM), find: QueueConnectionFactoryImpl.class public Connection createConnection() throws JMSException { return createConnection(null, null); } public Connection createConnection(String username, String password) throws JMSException { if (ResourceAdapterImpl.getJCARuntimeHelper().getEnvironment() != 1) { return createQueueConnection(username, password); } throw ((JMSException)JCAExceptionBuilder.buildException(3, "MQJCA1026")); } But how we can make "ResourceAdapterImpl.getJCARuntimeHelper().getEnvironment() != 1"? If you run the application in WAS container, it will not be 1! My God, that is the reason why I play the application successfully in WAS v6.0 but NOT in JBoss or any other containers, faint! ps-3: Now we try to use DMLC102 to test because DMLC102 explicitly invoke createQueueConnection() method but createConnection() for generic JMS 1.1 spec. It worked. But XX102 is deprecated by spring... Can Spring make the createConnection() or createQueueConnection() compatible? or resolve the wmq connector's incompatible?

    Spring JIRA | 4 years ago | dzmonkey
    javax.jms.JMSException: MQJCA1026:Invalid operation for a domain specific object.
  3. 0

    Messages to Weblogic Queue from JCAPS

    Oracle Community | 10 years ago | 807574
    javax.jms.JMSException: Could not create session javax.jms.QueueSession: Error in allocating a connection. Cause: Failed to create session: javax.jms.JMSException: Could not find JNDI object by name [corbaname:iiop:1.2@ucadtestapp:22001#weblogic.jms.XAConnectionFactory]: java.lang.NullPointerException
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    using message driven beans to invoke methods on stateful beans

    Google Groups | 2 decades ago | Timo Hoepfner
    javax.jms.JMSException: Error deserializing object
  6. 0

    JMS problems porting from AS7 to AS8

    Oracle Community | 1 decade ago | 843833
    javax.resource.NotSupportedException: MQRA-endpointActivation:Error:creatMessageConsumer failed:aborting

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. javax.jms.JMSException

      MQJCA1026:Invalid operation for a domain specific object.

      at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException()
    2. com.ibm.mq
      QueueConnectionFactoryImpl.createConnection
      1. com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:113)
      2. com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:78)
      3. com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl.createConnection(QueueConnectionFactoryImpl.java:75)
      3 frames
    3. Spring Framework
      DefaultMessageListenerContainer.start
      1. org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
      2. org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:403)
      3. org.springframework.jms.listener.AbstractJmsListeningContainer.establishSharedConnection(AbstractJmsListeningContainer.java:371)
      4. org.springframework.jms.listener.DefaultMessageListenerContainer.establishSharedConnection(DefaultMessageListenerContainer.java:749)
      5. org.springframework.jms.listener.AbstractJmsListeningContainer.doStart(AbstractJmsListeningContainer.java:278)
      6. org.springframework.jms.listener.AbstractJmsListeningContainer.start(AbstractJmsListeningContainer.java:263)
      7. org.springframework.jms.listener.DefaultMessageListenerContainer.start(DefaultMessageListenerContainer.java:555)
      7 frames
    4. Spring Context
      AbstractApplicationContext.refresh
      1. org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:166)
      2. org.springframework.context.support.DefaultLifecycleProcessor.access$1(DefaultLifecycleProcessor.java:154)
      3. org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:335)
      4. org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:143)
      5. org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:108)
      6. org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:908)
      7. org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
      7 frames
    5. Spring
      ContextLoaderListener.contextInitialized
      1. org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
      2. org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
      3. org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
      3 frames
    6. Glassfish Core
      StandardContext.start
      1. org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
      2. org.apache.catalina.core.StandardContext.start(StandardContext.java:4389)
      2 frames
    7. JBoss Application Server Tomcat
      TomcatDeployment.performDeploy
      1. org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310)
      2. org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)
      2 frames
    8. JBoss Application Server Server
      WebModule.start
      1. org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
      2. org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
      3. org.jboss.web.deployers.WebModule.start(WebModule.java:97)
      3 frames
    9. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:597)
      4 frames
    10. org.jboss.mx
      ReflectedDispatcher.invoke
      1. org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
      1 frame
    11. JBoss Application Server J2SE
      MBeanServerImpl.invoke
      1. org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
      2. org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
      3. org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
      4. org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
      4 frames
    12. org.jboss.system
      ServiceProxy.invoke
      1. org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
      1 frame
    13. Unknown
      $Proxy38.start
      1. $Proxy38.start(Unknown Source)
      1 frame
    14. org.jboss.system
      StartStopLifecycleAction.installAction
      1. org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
      2. org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
      2 frames
    15. JBoss Microcontainer Dependency
      AbstractControllerContext.install
      1. org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
      2. org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
      3. org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
      4. org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
      4 frames
    16. org.jboss.system
      ServiceControllerContext.install
      1. org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:297)
      1 frame
    17. JBoss Microcontainer Dependency
      AbstractController.change
      1. org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633)
      2. org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935)
      3. org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083)
      4. org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985)
      5. org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:823)
      6. org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
      6 frames
    18. JBoss Application Server System
      ServiceDeployer.deploy
      1. org.jboss.system.ServiceController.doChange(ServiceController.java:688)
      2. org.jboss.system.ServiceController.start(ServiceController.java:460)
      3. org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
      4. org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
      5. org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
      5 frames
    19. JBoss Deployers SPI
      AbstractRealDeployer.deploy
      1. org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
      2. org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
      2 frames
    20. JBoss Deployers Impl
      DeployersImpl.install
      1. org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
      2. org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1440)
      3. org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1158)
      4. org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1179)
      5. org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1099)
      5 frames
    21. JBoss Microcontainer Dependency
      AbstractController.change
      1. org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
      2. org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633)
      3. org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935)
      4. org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083)
      5. org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985)
      6. org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:823)
      7. org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
      7 frames
    22. JBoss Deployers Impl
      MainDeployerImpl.process
      1. org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:782)
      2. org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
      2 frames
    23. JBoss Application Server System
      AbstractProfileService.install
      1. org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
      2. org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
      3. org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
      4. org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403)
      4 frames
    24. JBoss Microcontainer Dependency
      AbstractController.install
      1. org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
      2. org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633)
      3. org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935)
      4. org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083)
      5. org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985)
      6. org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:775)
      7. org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
      7 frames
    25. JBoss Application Server System
      AbstractProfileService.registerProfile
      1. org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308)
      1 frame
    26. org.jboss.system
      ProfileServiceBootstrap.start
      1. org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:256)
      1 frame
    27. org.jboss.bootstrap
      AbstractServerImpl.start
      1. org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
      1 frame
    28. JBoss Application Server Server
      Main$1.run
      1. org.jboss.Main.boot(Main.java:221)
      2. org.jboss.Main$1.run(Main.java:556)
      2 frames
    29. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:662)
      1 frame