You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by phoenixdragon <li...@googlemail.com> on 2009/10/21 19:41:13 UTC
Re: AMQ5.1 bridge to WebsphereMQ 5.3 ->
javax.jms.IllegalStateException: MQJMS1112
Hi,
I tried the camel example Xquery and modified camelcontext.xml
<route>
<from uri="jms:MyQueue"/>
<to uri="file:target/outputFiles"/>
<to uri="webspheremq:queue:Q1"/>
</route>
</camelContext>
<!-- lets configure the default ActiveMQ broker URL -->
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL"
value="vm://localhost?broker.persistent=false"/>
</bean>
</property>
</bean>
<bean id="webspheremq" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory">
<bean
class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory">
<bean class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="transportType" value="1"/>
<property name="hostName" value="192.168.0.4"/>
<property name="port" value="1414"/>
<property name="queueManager" value="QM_APPLE"/>
<property name="channel" value="QM_ORANGE.QM_APPLE"/>
</bean>
</property>
<property name="username" value="liem.leong"/>
<property name="password" value="apple1"/>
</bean>
</property>
</bean>
and added the following to Camel Routes.dot and Routes.dot
node5 [
label = "webspheremq:queue:Q1"
tooltip = "webspheremq:queue:Q1"
URL = "http://camel.apache.org/message-endpoint.html"
];
node4 -> node5 [
];
and I got the following error, what have I done wrong?
[java] [ main] MainSupport
ERRO
R Failed: org.springframework.beans.factory.BeanCreationException: Error
creatin
g bean with name 'webspheremq' defined in file
[C:\apache-camel-2.0-M2\examples\
camel-example-spring-xquery\target\classes\META-INF\spring\camelContext.xml]:
Ca
nnot create inner bean
'org.springframework.jms.connection.UserCredentialsConnec
tionFactoryAdapter#2d189c' of type
[org.springframework.jms.connection.UserCrede
ntialsConnectionFactoryAdapter] while setting bean property
'connectionFactory';
nested exception is
org.springframework.beans.factory.BeanCreationException: Er
ror creating bean with name
'org.springframework.jms.connection.UserCredentialsC
onnectionFactoryAdapter#2d189c' defined in file
[C:\apache-camel-2.0-M2\examples
\camel-example-spring-xquery\target\classes\META-INF\spring\camelContext.xml]:
C
annot create inner bean 'com.ibm.mq.jms.MQQueueConnectionFactory#7e8c4d' of
type
[com.ibm.mq.jms.MQQueueConnectionFactory] while setting bean property
'targetCo
nnectionFactory'; nested exception is
org.springframework.beans.factory.CannotLo
adBeanClassException: Cannot find class
[com.ibm.mq.jms.MQQueueConnectionFactory
] for bean with name 'com.ibm.mq.jms.MQQueueConnectionFactory#7e8c4d'
defined in
file
[C:\apache-camel-2.0-M2\examples\camel-example-spring-xquery\target\classe
s\META-INF\spring\camelContext.xml]; nested exception is
java.lang.ClassNotFound
Exception: com.ibm.mq.jms.MQQueueConnectionFactory
[java] org.springframework.beans.factory.BeanCreationException: Error
creat
ing bean with name 'webspheremq' defined in file
[C:\apache-camel-2.0-M2\example
s\camel-example-spring-xquery\target\classes\META-INF\spring\camelContext.xml]:
Cannot create inner bean
'org.springframework.jms.connection.UserCredentialsConn
ectionFactoryAdapter#2d189c' of type
[org.springframework.jms.connection.UserCre
dentialsConnectionFactoryAdapter] while setting bean property
'connectionFactory
'; nested exception is
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name
'org.springframework.jms.connection.UserCredential
sConnectionFactoryAdapter#2d189c' defined in file
[C:\apache-camel-2.0-M2\exampl
es\camel-example-spring-xquery\target\classes\META-INF\spring\camelContext.xml]:
Cannot create inner bean 'com.ibm.mq.jms.MQQueueConnectionFactory#7e8c4d'
of ty
pe [com.ibm.mq.jms.MQQueueConnectionFactory] while setting bean property
'target
ConnectionFactory'; nested exception is
org.springframework.beans.factory.Cannot
LoadBeanClassException: Cannot find class
[com.ibm.mq.jms.MQQueueConnectionFacto
ry] for bean with name 'com.ibm.mq.jms.MQQueueConnectionFactory#7e8c4d'
defined
in file
[C:\apache-camel-2.0-M2\examples\camel-example-spring-xquery\target\clas
ses\META-INF\spring\camelContext.xml]; nested exception is
java.lang.ClassNotFou
ndException: com.ibm.mq.jms.MQQueueConnectionFactory
[java] at
org.springframework.beans.factory.support.BeanDefinitionValue
Resolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)
[java] at
org.springframework.beans.factory.support.BeanDefinitionValue
Resolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:117)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245
)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
[java] at java.security.AccessController.doPrivileged(Native
Method)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
[java] at
org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:264)
[java] at
org.springframework.beans.factory.support.DefaultSingletonBea
nRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
[java] at
org.springframework.beans.factory.support.AbstractBeanFactory
.doGetBean(AbstractBeanFactory.java:261)
[java] at
org.springframework.beans.factory.support.AbstractBeanFactory
.getBean(AbstractBeanFactory.java:185)
[java] at
org.springframework.beans.factory.support.AbstractBeanFactory
.getBean(AbstractBeanFactory.java:164)
[java] at
org.springframework.beans.factory.support.DefaultListableBean
Factory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
[java] at
org.springframework.context.support.AbstractApplicationContex
t.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
[java] at
org.springframework.context.support.AbstractApplicationContex
t.refresh(AbstractApplicationContext.java:380)
[java] at
org.springframework.context.support.ClassPathXmlApplicationCo
ntext.<init>(ClassPathXmlApplicationContext.java:139)
[java] at
org.springframework.context.support.ClassPathXmlApplicationCo
ntext.<init>(ClassPathXmlApplicationContext.java:93)
[java] at
org.apache.camel.spring.Main.createDefaultApplicationContext(
Main.java:231)
[java] at org.apache.camel.spring.Main.doStart(Main.java:185)
[java] at
org.apache.camel.impl.ServiceSupport.start(ServiceSupport.jav
a:52)
[java] at
org.apache.camel.impl.MainSupport.run(MainSupport.java:120)
[java] at
org.apache.camel.impl.MainSupport.run(MainSupport.java:298)
[java] at org.apache.camel.spring.Main.main(Main.java:97)
[java] Caused by:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name
'org.springframework.jms.connection.UserCredential
sConnectionFactoryAdapter#2d189c' defined in file
[C:\apache-camel-2.0-M2\exampl
es\camel-example-spring-xquery\target\classes\META-INF\spring\camelContext.xml]:
Cannot create inner bean 'com.ibm.mq.jms.MQQueueConnectionFactory#7e8c4d'
of ty
pe [com.ibm.mq.jms.MQQueueConnectionFactory] while setting bean property
'target
ConnectionFactory'; nested exception is
org.springframework.beans.factory.Cannot
LoadBeanClassException: Cannot find class
[com.ibm.mq.jms.MQQueueConnectionFacto
ry] for bean with name 'com.ibm.mq.jms.MQQueueConnectionFactory#7e8c4d'
defined
in file
[C:\apache-camel-2.0-M2\examples\camel-example-spring-xquery\target\clas
ses\META-INF\spring\camelContext.xml]; nested exception is
java.lang.ClassNotFou
ndException: com.ibm.mq.jms.MQQueueConnectionFactory
[java] at
org.springframework.beans.factory.support.BeanDefinitionValue
Resolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)
[java] at
org.springframework.beans.factory.support.BeanDefinitionValue
Resolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:117)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245
)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
[java] at java.security.AccessController.doPrivileged(Native
Method)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
[java] at
org.springframework.beans.factory.support.BeanDefinitionValue
Resolver.resolveInnerBean(BeanDefinitionValueResolver.java:219)
[java] ... 23 more
[java] Caused by:
org.springframework.beans.factory.CannotLoadBeanClassExce
ption: Cannot find class [com.ibm.mq.jms.MQQueueConnectionFactory] for bean
with
name 'com.ibm.mq.jms.MQQueueConnectionFactory#7e8c4d' defined in file
[C:\apach
e-camel-2.0-M2\examples\camel-example-spring-xquery\target\classes\META-INF\spri
ng\camelContext.xml]; nested exception is java.lang.ClassNotFoundException:
com.
ibm.mq.jms.MQQueueConnectionFactory
[java] at
org.springframework.beans.factory.support.AbstractBeanFactory
.resolveBeanClass(AbstractBeanFactory.java:1141)
[java] at
org.springframework.beans.factory.support.AbstractBeanFactory
.resolveBeanClass(AbstractBeanFactory.java:1105)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:386)
[java] at java.security.AccessController.doPrivileged(Native
Method)
[java] at
org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
[java] at
org.springframework.beans.factory.support.BeanDefinitionValue
Resolver.resolveInnerBean(BeanDefinitionValueResolver.java:219)
[java] ... 31 more
[java] Caused by: java.lang.ClassNotFoundException:
com.ibm.mq.jms.MQQueueC
onnectionFactory
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
[java] at java.security.AccessController.doPrivileged(Native
Method)
[java] at
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[java] at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
[java] at
org.springframework.util.ClassUtils.forName(ClassUtils.java:2
11)
[java] at
org.springframework.beans.factory.support.AbstractBeanDefinit
ion.resolveBeanClass(AbstractBeanDefinition.java:385)
[java] at
org.springframework.beans.factory.support.AbstractBeanFactory
.resolveBeanClass(AbstractBeanFactory.java:1138)
[java] ... 36 more
[java] [ Thread-1] Main$HangupInterceptor
INFO
Recieved hang up - stopping the main instance.
martyman wrote:
>
> Just in case someone is facing a similar problem. Here's my solution:
>
> The following works for me:
>
> <bean id="webspheremq"
> class="org.apache.camel.component.jms.JmsComponent">
> <property name="connectionFactory">
> <bean
> 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="CO.TEST"/>
> <property name="transportType" value="1"/>
> </bean>
> </property>
> <property name="username" value="xxxxxx"/>
> <property name="password" value="xxxxxx"/>
> </bean>
> </property>
> </bean>
>
> Cheers,
> 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-tp17204001p25996978.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.