paquerette
Aug 3rd, 2005, 04:44 AM
Hi,
I'm trying to use servicemix to connect to a weblogic 8.1.4 JMS but I get
a Consumer Is Closed Exception.
ServiceMix rely on JMSTemplate102, that's why I'm posting here (also i can get much help from google and servicemix mailing list... :'( )
When running in debug mode, i can see that it successfully connect to
the JMS Server (getting it's name).
Do anyone have an idea of what's wrong? Why i loose the connection to the JMS?
Thanks for help ;o)
Manson Thomas.
Here is some details :
here is the console log :
(Http11Protocol.java:142) - Initialisation de Coyote HTTP/1.1 sur http-8080
( Catalina.java:514) - Initialization processed in 1719 ms
(StandardService.java:472) - Démarrage du service Catalina
(StandardEngine.java:467) - Starting Servlet Engine: Apache Tomcat/5.0.30
(StandardHost.java:787) - XML validation disabled
(XmlBeanDefinitionReader.java:147) - Loading XML bean definitions from
class path resource [jbi.xml]
(AbstractRefreshableApplicationContext.java:90) - Bean factory for
application context
[org.springframework.context.support.ClassPathXmlAp plicationContext;hashCode=29493424]:
org.springframework.beans.factory.support.DefaultL istableBeanFactory
defining beans [jndiTemplate,jmsConnectionFactory,jmsFactory,jmsDe stinationResolver,jmsTemplate,jbi];
root of BeanFactory hierarchy
(AbstractApplicationContext.java:289) - 6 beans defined in application
context [org.springframework.context.support.ClassPathXmlAp plicationContext;hashCode=29493424]
( CollectionFactory.java:61) - JDK 1.4+ collections available
(CollectionFactory.java :66) - Commons Collections 3.x available
(AbstractApplicationContext.java:422) - Unable to locate MessageSource
with name 'messageSource': using default
[org.springframework.context.support.DelegatingMess ageSource@1d32e45]
(AbstractApplicationContext.java:444) - Unable to locate
ApplicationEventMulticaster with name 'applicationEventMulticaster':
using default [org.springframework.context.event.SimpleApplicatio nEventMulticaster@1347124]
(DefaultListableBeanFactory.java:262) - Pre-instantiating singletons
in factory [org.springframework.beans.factory.support.DefaultL istableBeanFactory
defining beans [jndiTemplate,jmsConnectionFactory,jmsFactory,jmsDe stinationResolver,jmsTemplate,jbi];
root of BeanFactory hierarchy]
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jndiTemplate'
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jmsConnectionFactory'
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jmsFactory'
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jmsDestinationResolver'
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jmsTemplate'
(AbstractBeanFactory.java :219) - Creating shared instance of
singleton bean 'jbi'
(AbstractBeanFactory.java:525) - Destroying singletons in factory
{org.springframework.beans.factory.support.Default ListableBeanFactory
defining beans [jndiTemplate,jmsConnectionFactory,jmsFactory,jmsDe stinationResolver,jmsTemplate,jbi];
root of BeanFactory hierarchy}
(StandardContext.java:4324) - Error listenerStart
(StandardContext.java:4349) - Erreur de démarrage du contexte suite
aux erreurs précédentes
(StandardHost.java:1024) - Create Host deployer for direct deployment
( non-jmx )
(Http11Protocol.java:176) - Démarrage de Coyote HTTP/1.1 sur http-8080
(ChannelSocket.java:363) - JK2: ajp13 listening on /0.0.0.0:8009
(JkMain.java:355) - Jk running ID=0 time=0/297 config=null
(Catalina.java:563) - Server startup in 21203 ms
The stack trace :
2005-08-02 10:48:30 StandardContext[/JBI-Test]Exception lors de
l'envoi de l'évènement contexte initialisé (context initialized) à
l'instance de classe d'écoute (listener)
fr.RS2i.services.DBIListener.SpringListener
org.springframework.beans.factory.BeanCreationExce ption: Error
creating bean with name 'myJmsReceiver' defined in class path resource
[jbi.xml]: Initialization of bean failed; nested exception is
weblogic.jms.common.IllegalStateException: Consumer is closed
weblogic.jms.common.IllegalStateException: Consumer is closed
at weblogic.jms.client.JMSConsumer.checkClosed(JMSCon sumer.java:467)
at weblogic.jms.client.JMSConsumer.setMessageListener (JMSConsumer.java:295)
at org.servicemix.components.jms.JmsReceiverComponent .afterPropertiesSet(JmsReceiverComponent.java:43)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:966)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:358)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveInnerBeanDefinition(Bea nDefinitionValueResolver.java:147)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveValueIfNecessary(BeanDe finitionValueResolver.java:96)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyPropertyValues(Abs tractAutowireCapableBeanFactory.java:920)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.populateBean(AbstractAu towireCapableBeanFactory.java:731)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:340)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveInnerBeanDefinition(Bea nDefinitionValueResolver.java:147)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveValueIfNecessary(BeanDe finitionValueResolver.java:96)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveManagedList(BeanDefinit ionValueResolver.java:193)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveValueIfNecessary(BeanDe finitionValueResolver.java:109)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyPropertyValues(Abs tractAutowireCapableBeanFactory.java:920)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.populateBean(AbstractAu towireCapableBeanFactory.java:731)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:340)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:223)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:277)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:312)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationContext.java:80)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationContext.java:65)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationContext.java:56)
at fr.RS2i.services.DBIListener.SpringListener.contex tInitialized(SpringListener.java:12)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3831)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4323)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1083)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:789)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:478)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:480)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:425)
Spring Config :
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:foo="http://servicemix.org/cheese/">
<container id="jbi">
<components>
<component id="myJmsReceiver" service="foo:myJmsReceiver"
endpoint="myJmsReceiver"
class="org.servicemix.components.jms.JmsReceiverComponent"
destinationService="foo:trace">
<property name="template">
<ref local="jmsTemplate"/>
</property>
</component>
<component id="jmsTrace" service="foo:trace"
class="org.servicemix.components.groovy.GroovyComponent">
<property name="createOutput" value="false"/>
<property name="scriptText">
<value><![CDATA[
log.info "Received message $inMessage with body: $inMessage.bodyText"
]]></value>
</property>
</component>
</components>
</container>
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url">t3://someIp:somePort</prop>
</props>
</property>
</bean>
<!-- Internal JMS Queue Connection Factory -->
<bean id="jmsConnectionFactory"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate">
<ref bean="jndiTemplate"/>
</property>
<property name="jndiName">
<value>weblogic.jms.ConnectionFactory</value>
</property>
</bean>
<bean id="jmsFactory"
class="org.springframework.jms.connection.SingleConnectio nFactory">
<property name="targetConnectionFactory">
<ref bean="jmsConnectionFactory"/>
</property>
</bean>
<!-- JMS Destination Resolver -->
<bean id="jmsDestinationResolver"
class="org.springframework.jms.support.destination.JndiDe stinationResolver">
<property name="jndiTemplate">
<ref bean="jndiTemplate"/>
</property>
<property name="cache">
<value>true</value>
</property>
</bean>
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate102">
<property name="connectionFactory">
<ref local="jmsFactory"/>
</property>
<property name="destinationResolver">
<ref bean="jmsDestinationResolver"/>
</property>
<property name="pubSubDomain">
<value>true</value>
</property>
<property name="defaultDestinationName">
<value>com.RS2i.infocentre.jms.ICMessagerJMSTopic</value>
</property>
</bean>
</beans>
I'm trying to use servicemix to connect to a weblogic 8.1.4 JMS but I get
a Consumer Is Closed Exception.
ServiceMix rely on JMSTemplate102, that's why I'm posting here (also i can get much help from google and servicemix mailing list... :'( )
When running in debug mode, i can see that it successfully connect to
the JMS Server (getting it's name).
Do anyone have an idea of what's wrong? Why i loose the connection to the JMS?
Thanks for help ;o)
Manson Thomas.
Here is some details :
here is the console log :
(Http11Protocol.java:142) - Initialisation de Coyote HTTP/1.1 sur http-8080
( Catalina.java:514) - Initialization processed in 1719 ms
(StandardService.java:472) - Démarrage du service Catalina
(StandardEngine.java:467) - Starting Servlet Engine: Apache Tomcat/5.0.30
(StandardHost.java:787) - XML validation disabled
(XmlBeanDefinitionReader.java:147) - Loading XML bean definitions from
class path resource [jbi.xml]
(AbstractRefreshableApplicationContext.java:90) - Bean factory for
application context
[org.springframework.context.support.ClassPathXmlAp plicationContext;hashCode=29493424]:
org.springframework.beans.factory.support.DefaultL istableBeanFactory
defining beans [jndiTemplate,jmsConnectionFactory,jmsFactory,jmsDe stinationResolver,jmsTemplate,jbi];
root of BeanFactory hierarchy
(AbstractApplicationContext.java:289) - 6 beans defined in application
context [org.springframework.context.support.ClassPathXmlAp plicationContext;hashCode=29493424]
( CollectionFactory.java:61) - JDK 1.4+ collections available
(CollectionFactory.java :66) - Commons Collections 3.x available
(AbstractApplicationContext.java:422) - Unable to locate MessageSource
with name 'messageSource': using default
[org.springframework.context.support.DelegatingMess ageSource@1d32e45]
(AbstractApplicationContext.java:444) - Unable to locate
ApplicationEventMulticaster with name 'applicationEventMulticaster':
using default [org.springframework.context.event.SimpleApplicatio nEventMulticaster@1347124]
(DefaultListableBeanFactory.java:262) - Pre-instantiating singletons
in factory [org.springframework.beans.factory.support.DefaultL istableBeanFactory
defining beans [jndiTemplate,jmsConnectionFactory,jmsFactory,jmsDe stinationResolver,jmsTemplate,jbi];
root of BeanFactory hierarchy]
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jndiTemplate'
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jmsConnectionFactory'
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jmsFactory'
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jmsDestinationResolver'
(AbstractBeanFactory.java:219) - Creating shared instance of singleton
bean 'jmsTemplate'
(AbstractBeanFactory.java :219) - Creating shared instance of
singleton bean 'jbi'
(AbstractBeanFactory.java:525) - Destroying singletons in factory
{org.springframework.beans.factory.support.Default ListableBeanFactory
defining beans [jndiTemplate,jmsConnectionFactory,jmsFactory,jmsDe stinationResolver,jmsTemplate,jbi];
root of BeanFactory hierarchy}
(StandardContext.java:4324) - Error listenerStart
(StandardContext.java:4349) - Erreur de démarrage du contexte suite
aux erreurs précédentes
(StandardHost.java:1024) - Create Host deployer for direct deployment
( non-jmx )
(Http11Protocol.java:176) - Démarrage de Coyote HTTP/1.1 sur http-8080
(ChannelSocket.java:363) - JK2: ajp13 listening on /0.0.0.0:8009
(JkMain.java:355) - Jk running ID=0 time=0/297 config=null
(Catalina.java:563) - Server startup in 21203 ms
The stack trace :
2005-08-02 10:48:30 StandardContext[/JBI-Test]Exception lors de
l'envoi de l'évènement contexte initialisé (context initialized) à
l'instance de classe d'écoute (listener)
fr.RS2i.services.DBIListener.SpringListener
org.springframework.beans.factory.BeanCreationExce ption: Error
creating bean with name 'myJmsReceiver' defined in class path resource
[jbi.xml]: Initialization of bean failed; nested exception is
weblogic.jms.common.IllegalStateException: Consumer is closed
weblogic.jms.common.IllegalStateException: Consumer is closed
at weblogic.jms.client.JMSConsumer.checkClosed(JMSCon sumer.java:467)
at weblogic.jms.client.JMSConsumer.setMessageListener (JMSConsumer.java:295)
at org.servicemix.components.jms.JmsReceiverComponent .afterPropertiesSet(JmsReceiverComponent.java:43)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:966)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:358)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveInnerBeanDefinition(Bea nDefinitionValueResolver.java:147)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveValueIfNecessary(BeanDe finitionValueResolver.java:96)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyPropertyValues(Abs tractAutowireCapableBeanFactory.java:920)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.populateBean(AbstractAu towireCapableBeanFactory.java:731)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:340)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveInnerBeanDefinition(Bea nDefinitionValueResolver.java:147)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveValueIfNecessary(BeanDe finitionValueResolver.java:96)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveManagedList(BeanDefinit ionValueResolver.java:193)
at org.springframework.beans.factory.support.BeanDefi nitionValueResolver.resolveValueIfNecessary(BeanDe finitionValueResolver.java:109)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyPropertyValues(Abs tractAutowireCapableBeanFactory.java:920)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.populateBean(AbstractAu towireCapableBeanFactory.java:731)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:340)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:223)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:277)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:312)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationContext.java:80)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationContext.java:65)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationContext.java:56)
at fr.RS2i.services.DBIListener.SpringListener.contex tInitialized(SpringListener.java:12)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3831)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4323)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1083)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:789)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:478)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:480)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:425)
Spring Config :
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:foo="http://servicemix.org/cheese/">
<container id="jbi">
<components>
<component id="myJmsReceiver" service="foo:myJmsReceiver"
endpoint="myJmsReceiver"
class="org.servicemix.components.jms.JmsReceiverComponent"
destinationService="foo:trace">
<property name="template">
<ref local="jmsTemplate"/>
</property>
</component>
<component id="jmsTrace" service="foo:trace"
class="org.servicemix.components.groovy.GroovyComponent">
<property name="createOutput" value="false"/>
<property name="scriptText">
<value><![CDATA[
log.info "Received message $inMessage with body: $inMessage.bodyText"
]]></value>
</property>
</component>
</components>
</container>
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url">t3://someIp:somePort</prop>
</props>
</property>
</bean>
<!-- Internal JMS Queue Connection Factory -->
<bean id="jmsConnectionFactory"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate">
<ref bean="jndiTemplate"/>
</property>
<property name="jndiName">
<value>weblogic.jms.ConnectionFactory</value>
</property>
</bean>
<bean id="jmsFactory"
class="org.springframework.jms.connection.SingleConnectio nFactory">
<property name="targetConnectionFactory">
<ref bean="jmsConnectionFactory"/>
</property>
</bean>
<!-- JMS Destination Resolver -->
<bean id="jmsDestinationResolver"
class="org.springframework.jms.support.destination.JndiDe stinationResolver">
<property name="jndiTemplate">
<ref bean="jndiTemplate"/>
</property>
<property name="cache">
<value>true</value>
</property>
</bean>
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate102">
<property name="connectionFactory">
<ref local="jmsFactory"/>
</property>
<property name="destinationResolver">
<ref bean="jmsDestinationResolver"/>
</property>
<property name="pubSubDomain">
<value>true</value>
</property>
<property name="defaultDestinationName">
<value>com.RS2i.infocentre.jms.ICMessagerJMSTopic</value>
</property>
</bean>
</beans>