I did some more experimentation defining a Camel JMS Component: ... <bean id="webspheremq" class="org.apache.camel.component.jms.JmsComponent"> <property name="connectionFactory"> <bean class="com.ibm.mq.jms.MQQueueConnectionFactory"> <property name="hostName" value="Test"/> <property name="port" value="1414"/> <property name="queueManager" value="CSQ"/> <property name="channel" value="CO.TEST"/> <property name="transportType" value="1"/> </bean> </property> </bean> ... My route: ... <route> <from uri="activemq:test"/> <to uri="webspheremq:queue:WIN.TEST"/> </route> ... Seems to work nice but I'm getting the following exception: org.springframework.jms.JmsSecurityException: MQJMS2008: ...nested exception is com.ibm.mq.MQException: MQJE001: Beendigungscode 2, Ursache 2035 which seems related to the fact that I have to provide user credentials.
So I've tried : <bean id="webspheremq" class="org.apache.camel.component.jms.JmsComponent"> <property name="connectionFactory" ref="mqConnectionFactory"/> </bean> <bean id="mqConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter"> <property name="targetConnectionFactory"> <bean class="com.ibm.mq.jms.MQQueueConnectionFactory"> <property name="hostName" value="Test"/> <property name="port" value="1414"/> <property name="queueManager" value="CSQ"/> <property name="channel" value="COTEST"/> <property name="transportType" value="1"/> </bean> </property> <property name="username" value="xxx"/> <property name="password" value="xxx"/> </bean> ...but then I'm back at square one getting the same exceptions mentioned in my initial post: ...javax.jms.IllegalStateException: MQJMS1112: JMS1.1 Invalid operation for domain specific object... Before my experimentation I've updated the WebsphereMQ libs to version 6.0 using the following jars in .../activemq/lib com.ibm.mq.jar com.ibm.mqjms.jar dhbcore.jar Happy for any hints. Regards, Martin martyman wrote: > > Hi guys, > > based on examples I've found on the net I've configured a bridge from AMQ > 5.1.0 to Webphere MQ 5.3. Messages are forwarded thus the bridge seems to > work but I get lots of javax.jms.IllegalStateExceptions in the logs (see > below). > > Did I miss something? Any hints? > > Should I rather use Camel JMS Components? > > Thanks, > Martin > > > > Relevant activemq.xml fragments: > ... > <jmsBridgeConnectors> > <jmsQueueConnector name="activemq2webspheremq" > outboundQueueConnectionFactory="#remoteFactory"> > <outboundQueueBridges> > <outboundQueueBridge outboundQueueName="WIN.TEST" > localQueueName="bridge2mq"/> > </outboundQueueBridges> > </jmsQueueConnector> > </jmsBridgeConnectors> > ... > <bean id="remoteFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory"> > <property name="transportType" value="1"/> > <property name="hostName" value="Test"/> > <property name="port" value="1414"/> > <property name="queueManager" value="CSQ"/> > <property name="channel" value="CO.TEST"/> > </bean> > .... > > > > > 2008-05-13 09:13:50,445 [enerContainer-1] ERROR > efaultMessageListenerContainer - Setup of JMS message listener invoker > failed - trying to recover > javax.jms.IllegalStateException: MQJMS1112: JMS1.1 Ungültige Operation für > domänenspezifisches Objekt > at com.ibm.mq.jms.MQQueueSession.createTopic(MQQueueSession.java:734) > at > org.springframework.jms.support.destination.DynamicDestinationResolver.resolveTopic(DynamicDestinationResolver.java:86) > at > org.springframework.jms.support.destination.DynamicDestinationResolver.resolveDestinationName(DynamicDestinationResolver.java:63) > at > org.springframework.jms.support.destination.JmsDestinationAccessor.resolveDestinationName(JmsDestinationAccessor.java:100) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:215) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMessageListenerContainer.java:903) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:886) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:822) > at java.lang.Thread.run(Unknown Source) > 2008-05-13 09:13:50,445 [enerContainer-1] INFO > efaultMessageListenerContainer - Successfully refreshed JMS Connection > 2008-05-13 09:13:50,492 [enerContainer-1] ERROR > efaultMessageListenerContainer - Setup of JMS message listener invoker > failed - trying to recover > javax.jms.InvalidDestinationException: MQJMS2008: Fehler beim Öffnen der > MQ-Warteschlange > at > com.ibm.mq.jms.MQQueueServices.getQueueOpenException(MQQueueServices.java:408) > at > com.ibm.mq.jms.JMSServicesMgr.getQueueOpenException(JMSServicesMgr.java:112) > at com.ibm.mq.jms.MQSession.createQReceiver(MQSession.java:5995) > at com.ibm.mq.jms.MQQueueSession.createReceiver(MQQueueSession.java:326) > at com.ibm.mq.jms.MQQueueSession.createConsumer(MQQueueSession.java:382) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createConsumer(AbstractPollingMessageListenerContainer.java:449) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:217) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMessageListenerContainer.java:903) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:886) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:822) > at java.lang.Thread.run(Unknown Source) > 2008-05-13 09:13:50,539 [enerContainer-1] INFO > efaultMessageListenerContainer - Successfully refreshed JMS Connection > 2008-05-13 09:13:55,461 [enerContainer-2] ERROR > efaultMessageListenerContainer - Setup of JMS message listener invoker > failed - trying to recover > javax.jms.IllegalStateException: MQJMS1112: JMS1.1 Ungültige Operation für > domänenspezifisches Objekt > at com.ibm.mq.jms.MQQueueSession.createTopic(MQQueueSession.java:734) > at > org.springframework.jms.support.destination.DynamicDestinationResolver.resolveTopic(DynamicDestinationResolver.java:86) > at > org.springframework.jms.support.destination.DynamicDestinationResolver.resolveDestinationName(DynamicDestinationResolver.java:63) > at > org.springframework.jms.support.destination.JmsDestinationAccessor.resolveDestinationName(JmsDestinationAccessor.java:100) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:215) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMessageListenerContainer.java:903) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:886) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:822) > at java.lang.Thread.run(Unknown Source) > -- View this message in context: http://www.nabble.com/AMQ5.1-bridge-to-WebsphereMQ-5.3--%3E-javax.jms.IllegalStateException%3A-MQJMS1112-tp17204001s2354p17316724.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.