com.ibm.msg.client.jms.DetailedJMSException: MQJCA1026: 对特定于域的对象的操作无效。 JMS 应用程序试图对特定于域的对象执行操作,但该操作仅对跨域对象或在其他消息传递域中有效。 确保应用程序使用的 JMS 对象与所需的消息传递域相关。

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
    com.ibm.msg.client.jms.DetailedJMSException: MQJCA1026: 对特定于域的对象的操作无效。 JMS 应用程序试图对特定于域的对象执行操作,但该操作仅对跨域对象或在其他消息传递域中有效。 确保应用程序使用的 JMS 对象与所需的消息传递域相关。
  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
    com.ibm.msg.client.jms.DetailedJMSException: MQJCA1026: 对特定于域的对象的操作无效。 JMS 应用程序试图对特定于域的对象执行操作,但该操作仅对跨域对象或在其他消息传递域中有效。 确保应用程序使用的 JMS 对象与所需的消息传递域相关。
  3. 0

    [jira] [Commented] (GERONIMO-6405) websphere mq issue: MQJCA1026: An operation on a domain specific object was not valid.

    geronimo-dev | 4 years ago | kknd (JIRA)
    com.ibm.msg.client.jms.DetailedJMSException: MQJCA1026: An operation on a domain specific object was not valid. A JMS application attempted to perform an operation on a domain specific object, but the operation is valid only on cross domain objects or in the other messaging domain. Make sure that the JMS objects used by your application are relevant to the required messaging domain.
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    TomEE Users - websphere MQ

    nabble.com | 4 months ago
    com.ibm.msg.client.jms.DetailedJMSException: MQJCA1011: Failed to allocate > a > JMS connection. > An internal error caused an attempt to allocate a connection to fail. > See the linked exception for details of the failure. > nnection$5.run(RemoteTCPConnection.java:785) at > > com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection$5.run(RemoteTCPConnection.java:779)
  6. 0

    TomEE Users - websphere MQ

    nabble.com | 4 months ago
    com.ibm.msg.client.jms.DetailedJMSException: MQJCA1011: Failed to allocate a JMS connection. An internal error caused an attempt to allocate a connection to fail. See the linked exception for details of the failure. ection$5.run(RemoteTCPConnection.java:785)

    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. com.ibm.msg.client.jms.DetailedJMSException

      MQJCA1026: 对特定于域的对象的操作无效。 JMS 应用程序试图对特定于域的对象执行操作,但该操作仅对跨域对象或在其他消息传递域中有效。 确保应用程序使用的 JMS 对象与所需的消息传递域相关。

      at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException()
    2. com.ibm.mq
      QueueConnectionFactoryImpl.createConnection
      1. com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:146)
      2. com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:91)
      3. com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl.createConnection(QueueConnectionFactoryImpl.java:119)
      4. com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl.createConnection(QueueConnectionFactoryImpl.java:98)
      4 frames
    3. 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
    4. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
      2. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
      2 frames
    5. Unknown
      $Proxy148.createConnection
      1. $Proxy148.createConnection(Unknown Source)
      1 frame
    6. Spring Framework
      DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run
      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.refreshSharedConnection(AbstractJmsListeningContainer.java:388)
      4. org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:856)
      5. org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:838)
      6. org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:969)
      6 frames
    7. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:662)
      1 frame