You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Mika <mi...@msk-design.com> on 2006/04/10 00:25:41 UTC

Help needed with JmsReceiverComponent

I have a problem using JMS with ServiceMix in Jboss 4.0.2. I'm using 
ServiceMix Jboss Deployer 2.0.
I have two servicemix xml files I have deployed to JBoss. The one 
injecting messages into JBossMQ queue works fine but
the one trying to receive messages from that same queue is getting 
javax.jms.IllegalStateException: The MessageConsumer is closed when 
being deployed. With Hermes I can see that the quartz-sm.xml is 
successfully putting messages into queue.
Can someone point me to the right path is there something wrong with my 
configuration. Below is both of the -sm.xml and at the bottom a stack 
trace.

Thanks in advance.

--------- quartz-sm.xml ---------------------

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xbean.org/schemas/spring/1.0"
    xmlns:spring="http://xbean.org/schemas/spring/1.0"
    xmlns:sm="http://servicemix.org/config/1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xbean.org/schemas/spring/1.0 
../../conf/spring-beans.xsd
                        http://servicemix.org/config/1.0 
../../conf/servicemix.xsd"
    xmlns:my="http://servicemix.org/demo/">

    <!-- the JBI container -->
    <sm:container spring:id="jbi" useMBeanServer="false"
        createMBeanServer="false" dumpStats="true" statsInterval="10">

        <sm:activationSpecs>

            <!-- lets kick off a timer  every 5 seconds -->
            <sm:activationSpec componentName="timer" service="my:timer"
                destinationService="my:myJmsSender">
                <sm:component>
                    <bean xmlns="http://xbean.org/schemas/spring/1.0"
                        
class="org.servicemix.components.quartz.QuartzComponent">
                        <property name="triggers">
                            <map>
                                <entry>
                                    <key>
                                        <bean 
class="org.quartz.SimpleTrigger">
                                            <property 
name="repeatInterval" value="500000" />
                                            <property name="repeatCount" 
value="-1" />
                                        </bean>
                                    </key>
                                    <bean
                                        class="org.quartz.JobDetail">
                                        <property name="name" value="My 
Example Job" />
                                        <property name="group" 
value="ServiceMix" />
                                    </bean>
                                </entry>
                            </map>
                        </property>
                    </bean>
                </sm:component>
            </sm:activationSpec>


            <!-- Route the event to a trace component that just outputs 
the event to the console -->
            <sm:activationSpec componentName="trace" service="my:trace">
                <sm:component>
                    <bean xmlns="http://xbean.org/schemas/spring/1.0"
                        
class="org.servicemix.components.util.TraceComponent" />
                </sm:component>
            </sm:activationSpec>

<!-- -->
<sm:activationSpec componentName="myJmsSender" service="my:myJmsSender" >
  <sm:component><bean 
class="org.servicemix.components.jms.JmsSenderComponent">
    <property name="template">
      <bean class="org.springframework.jms.core.JmsTemplate102">
        <property name="connectionFactory">
          <ref local="jmsQueueConnectionFactory"/>
        </property>
         <property name="defaultDestination">
            <ref bean="orderQueue"/>
        </property>
       
        <property name="pubSubDomain" value="false"/>
      </bean>
    </property>
  </bean></sm:component>
</sm:activationSpec>
<!-- -->

<sm:activationSpec componentName="myJmsReceiver" 
service="my:myJmsReceiver" destinationService="my:trace" 
failIfNoDestinationEndpoint="false">
  <sm:component><bean 
class="org.servicemix.components.jms.JmsReceiverComponent">
    <property name="template">
      <bean class="org.springframework.jms.core.JmsTemplate102">
        <property name="connectionFactory">
          <ref local="jmsQueueConnectionFactory"/>
        </property>
         <property name="defaultDestination">
            <ref bean="orderQueue"/>
        </property>
        <property name="pubSubDomain" value="false"/>
        <!--<property name="receiveTimeout">
            <value>20000</value>
        </property>-->
      </bean>
    </property>
  </bean></sm:component>
</sm:activationSpec>

<!-- -->


        </sm:activationSpecs>
    </sm:container>

 <!-- JMS Queue Connection Factory -->
<!-- -->
  <bean id="jmsQueueConnectionFactory"
          class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate">
      <ref bean="jndiTemplate"/>
    </property>
    <property name="jndiName">
      <value>UIL2ConnectionFactory</value>
    </property>
  </bean>
<!-- -->
 <!-- JNDI Template -->
<!-- -->
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
      <props>
        <prop key="java.naming.factory.initial">
            org.jnp.interfaces.NamingContextFactory
        </prop>
        <prop key="java.naming.provider.url">
            localhost
        </prop>
            <prop key="java.naming.factory.url.pkgs">
                org.jnp.interfaces:org.jboss.naming
            </prop>       
      </props>
    </property>
  </bean>
<!-- -->
 <!-- JMS Send destination -->

<bean id="orderQueue"
    class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate">
        <ref bean="jndiTemplate"/>
    </property>
    <property name="jndiName">
        <value>queue/OrderQueue</value>
    </property>
</bean>
</beans>

----------- quartz-sm.xml - END -------------------------------

----------- jms-sm.xml - START -------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xbean.org/schemas/spring/1.0"
    xmlns:spring="http://xbean.org/schemas/spring/1.0"
    xmlns:sm="http://servicemix.org/config/1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xbean.org/schemas/spring/1.0 
../../conf/spring-beans.xsd
                        http://servicemix.org/config/1.0 
../../conf/servicemix.xsd"
    xmlns:my="http://servicemix.org/cheese/">

    <!-- the JBI container -->
    <sm:container spring:id="jbi" useMBeanServer="false"
        createMBeanServer="false" dumpStats="true" statsInterval="10">

        <sm:activationSpecs>

            <!-- Route the event to a trace component that just outputs 
the event to the console -->
            <sm:activationSpec componentName="trace" service="my:trace">
                <sm:component>
                    <bean xmlns="http://xbean.org/schemas/spring/1.0"
                        
class="org.servicemix.components.util.TraceComponent" />
                </sm:component>
            </sm:activationSpec>


<sm:activationSpec componentName="myJmsReceiver" 
service="my:myJmsReceiver" destinationService="my:trace" 
failIfNoDestinationEndpoint="false">
  <sm:component><bean 
class="org.servicemix.components.jms.JmsReceiverComponent">
    <property name="template">
      <bean class="org.springframework.jms.core.JmsTemplate102">
        <property name="connectionFactory">
          <ref local="jmsQueueConnectionFactory"/>
        </property>
         <property name="defaultDestination">
            <ref bean="orderQueue"/>
        </property>
        <property name="pubSubDomain" value="false"/>
        <!--<property name="receiveTimeout">
            <value>20000</value>
        </property>-->
      </bean>
    </property>
  </bean></sm:component>
</sm:activationSpec>

<!-- -->


        </sm:activationSpecs>
    </sm:container>

 <!-- JMS Queue Connection Factory -->
<!-- -->
  <bean id="jmsQueueConnectionFactory"
          class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate">
      <ref bean="jndiTemplate"/>
    </property>
    <property name="jndiName">
      <value>UIL2ConnectionFactory</value>
    </property>
  </bean>
<!-- -->
 <!-- JNDI Template -->
<!-- -->
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
      <props>
        <prop key="java.naming.factory.initial">
            org.jnp.interfaces.NamingContextFactory
        </prop>
        <prop key="java.naming.provider.url">
            localhost
        </prop>
            <prop key="java.naming.factory.url.pkgs">
                org.jnp.interfaces:org.jboss.naming
            </prop>       
      </props>
    </property>
  </bean>
<!-- -->
 <!-- JMS Send destination -->

<bean id="orderQueue"
    class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate">
        <ref bean="jndiTemplate"/>
    </property>
    <property name="jndiName">
        <value>queue/OrderQueue</value>
    </property>
</bean>

</beans>

----------- jms-sm.xml - END -------------------------

2006-04-09 22:02:14,953 ERROR [org.jboss.deployment.MainDeployer] could 
not create deployment: 
file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml
org.jboss.deployment.DeploymentException: ServiceMix deployer unable to 
deploy: org.jboss.deployment.DeploymentInfo@e9715113 { 
url=file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml 
}
  deployer: org.servicemix.jboss.deployment.JBIDeployer@20c906
  status: null
  state: CREATE_DEPLOYER
  watch: 
file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml
  altDD: null
  lastDeployed: 1144620134109
  lastModified: 1144620134078
  mbeans:
; - nested throwable: (RuntimeMBeanException: null Cause: 
org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 
'org.servicemix.components.jms.JmsReceiverComponent#c1c428' defined in 
URL 
[file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml]: 
Initialization of bean failed; nested exception is 
javax.jms.IllegalStateException: The MessageConsumer is closed)
    at 
org.servicemix.jboss.deployment.JBIDeployer.create(JBIDeployer.java:111)
    at org.jboss.deployment.MainDeployer.create(MainDeployer.java:918)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:774)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:738)
    at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at 
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:121)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at 
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
    at $Proxy8.deploy(Unknown Source)
    at 
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:325)
    at 
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:483)
    at 
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:204)
    at 
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:215)
    at 
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:194)
Caused by: RuntimeMBeanException: null Cause: 
org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 
'org.servicemix.components.jms.JmsReceiverComponent#c1c428' defined in 
URL 
[file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml]: 
Initialization of bean failed; nested exception is 
javax.jms.IllegalStateException: The MessageConsumer is closed
    at 
org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:162)
    at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:149)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
    at 
org.servicemix.jboss.deployment.JBIDeployer.create(JBIDeployer.java:105)
    ... 21 more
Caused by: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 
'org.servicemix.components.jms.JmsReceiverComponent#c1c428' defined in 
URL 
[file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml]: 
Initialization of bean failed; nested exception is 
javax.jms.IllegalStateException: The MessageConsumer is closed
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:370)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:147)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:96)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:705)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:611)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:329)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:147)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:96)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:193)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1012)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:823)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345)
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
    at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
    at 
org.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:158)
    at 
org.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:105)
    at 
org.servicemix.jboss.deployment.JBIService.installServiceMixXml(JBIService.java:157)
    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:324)
    at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    ... 26 more
Caused by: javax.jms.IllegalStateException: The MessageConsumer is closed
    at 
org.jboss.mq.SpyMessageConsumer.setMessageListener(SpyMessageConsumer.java:211)
    at 
org.servicemix.components.jms.JmsReceiverComponent.afterPropertiesSet(JmsReceiverComponent.java:54)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1058)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
    ... 50 more




Re: Help needed with JmsReceiverComponent

Posted by Guillaume Nodet <gn...@gmail.com>.
This is a problem that has been fixed a long time ago.
I see two solutions to your problem:
  1) upgrade to ServiceMix 3.0, the main problem being that the jboss
deployer has not been upgrade :(
  2) compile your ServiceMix 2.0 including the fix in
org.servicemix.components.jms.JmsReceiverComponent
You will find the latest source code at
http://svn.apache.org/repos/asf/incubator/servicemix/trunk/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsReceiverComponent.java

Cheers,
Guillaume Nodet

On 4/10/06, Mika <mi...@msk-design.com> wrote:
> I have a problem using JMS with ServiceMix in Jboss 4.0.2. I'm using
> ServiceMix Jboss Deployer 2.0.
> I have two servicemix xml files I have deployed to JBoss. The one
> injecting messages into JBossMQ queue works fine but
> the one trying to receive messages from that same queue is getting
> javax.jms.IllegalStateException: The MessageConsumer is closed when
> being deployed. With Hermes I can see that the quartz-sm.xml is
> successfully putting messages into queue.
> Can someone point me to the right path is there something wrong with my
> configuration. Below is both of the -sm.xml and at the bottom a stack
> trace.
>
> Thanks in advance.
>
> --------- quartz-sm.xml ---------------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://xbean.org/schemas/spring/1.0"
>     xmlns:spring="http://xbean.org/schemas/spring/1.0"
>     xmlns:sm="http://servicemix.org/config/1.0"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://xbean.org/schemas/spring/1.0
> ../../conf/spring-beans.xsd
>                         http://servicemix.org/config/1.0
> ../../conf/servicemix.xsd"
>     xmlns:my="http://servicemix.org/demo/">
>
>     <!-- the JBI container -->
>     <sm:container spring:id="jbi" useMBeanServer="false"
>         createMBeanServer="false" dumpStats="true" statsInterval="10">
>
>         <sm:activationSpecs>
>
>             <!-- lets kick off a timer  every 5 seconds -->
>             <sm:activationSpec componentName="timer" service="my:timer"
>                 destinationService="my:myJmsSender">
>                 <sm:component>
>                     <bean xmlns="http://xbean.org/schemas/spring/1.0"
>
> class="org.servicemix.components.quartz.QuartzComponent">
>                         <property name="triggers">
>                             <map>
>                                 <entry>
>                                     <key>
>                                         <bean
> class="org.quartz.SimpleTrigger">
>                                             <property
> name="repeatInterval" value="500000" />
>                                             <property name="repeatCount"
> value="-1" />
>                                         </bean>
>                                     </key>
>                                     <bean
>                                         class="org.quartz.JobDetail">
>                                         <property name="name" value="My
> Example Job" />
>                                         <property name="group"
> value="ServiceMix" />
>                                     </bean>
>                                 </entry>
>                             </map>
>                         </property>
>                     </bean>
>                 </sm:component>
>             </sm:activationSpec>
>
>
>             <!-- Route the event to a trace component that just outputs
> the event to the console -->
>             <sm:activationSpec componentName="trace" service="my:trace">
>                 <sm:component>
>                     <bean xmlns="http://xbean.org/schemas/spring/1.0"
>
> class="org.servicemix.components.util.TraceComponent" />
>                 </sm:component>
>             </sm:activationSpec>
>
> <!-- -->
> <sm:activationSpec componentName="myJmsSender" service="my:myJmsSender" >
>   <sm:component><bean
> class="org.servicemix.components.jms.JmsSenderComponent">
>     <property name="template">
>       <bean class="org.springframework.jms.core.JmsTemplate102">
>         <property name="connectionFactory">
>           <ref local="jmsQueueConnectionFactory"/>
>         </property>
>          <property name="defaultDestination">
>             <ref bean="orderQueue"/>
>         </property>
>
>         <property name="pubSubDomain" value="false"/>
>       </bean>
>     </property>
>   </bean></sm:component>
> </sm:activationSpec>
> <!-- -->
>
> <sm:activationSpec componentName="myJmsReceiver"
> service="my:myJmsReceiver" destinationService="my:trace"
> failIfNoDestinationEndpoint="false">
>   <sm:component><bean
> class="org.servicemix.components.jms.JmsReceiverComponent">
>     <property name="template">
>       <bean class="org.springframework.jms.core.JmsTemplate102">
>         <property name="connectionFactory">
>           <ref local="jmsQueueConnectionFactory"/>
>         </property>
>          <property name="defaultDestination">
>             <ref bean="orderQueue"/>
>         </property>
>         <property name="pubSubDomain" value="false"/>
>         <!--<property name="receiveTimeout">
>             <value>20000</value>
>         </property>-->
>       </bean>
>     </property>
>   </bean></sm:component>
> </sm:activationSpec>
>
> <!-- -->
>
>
>         </sm:activationSpecs>
>     </sm:container>
>
>  <!-- JMS Queue Connection Factory -->
> <!-- -->
>   <bean id="jmsQueueConnectionFactory"
>           class="org.springframework.jndi.JndiObjectFactoryBean">
>     <property name="jndiTemplate">
>       <ref bean="jndiTemplate"/>
>     </property>
>     <property name="jndiName">
>       <value>UIL2ConnectionFactory</value>
>     </property>
>   </bean>
> <!-- -->
>  <!-- JNDI Template -->
> <!-- -->
> <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
>     <property name="environment">
>       <props>
>         <prop key="java.naming.factory.initial">
>             org.jnp.interfaces.NamingContextFactory
>         </prop>
>         <prop key="java.naming.provider.url">
>             localhost
>         </prop>
>             <prop key="java.naming.factory.url.pkgs">
>                 org.jnp.interfaces:org.jboss.naming
>             </prop>
>       </props>
>     </property>
>   </bean>
> <!-- -->
>  <!-- JMS Send destination -->
>
> <bean id="orderQueue"
>     class="org.springframework.jndi.JndiObjectFactoryBean">
>     <property name="jndiTemplate">
>         <ref bean="jndiTemplate"/>
>     </property>
>     <property name="jndiName">
>         <value>queue/OrderQueue</value>
>     </property>
> </bean>
> </beans>
>
> ----------- quartz-sm.xml - END -------------------------------
>
> ----------- jms-sm.xml - START -------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://xbean.org/schemas/spring/1.0"
>     xmlns:spring="http://xbean.org/schemas/spring/1.0"
>     xmlns:sm="http://servicemix.org/config/1.0"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://xbean.org/schemas/spring/1.0
> ../../conf/spring-beans.xsd
>                         http://servicemix.org/config/1.0
> ../../conf/servicemix.xsd"
>     xmlns:my="http://servicemix.org/cheese/">
>
>     <!-- the JBI container -->
>     <sm:container spring:id="jbi" useMBeanServer="false"
>         createMBeanServer="false" dumpStats="true" statsInterval="10">
>
>         <sm:activationSpecs>
>
>             <!-- Route the event to a trace component that just outputs
> the event to the console -->
>             <sm:activationSpec componentName="trace" service="my:trace">
>                 <sm:component>
>                     <bean xmlns="http://xbean.org/schemas/spring/1.0"
>
> class="org.servicemix.components.util.TraceComponent" />
>                 </sm:component>
>             </sm:activationSpec>
>
>
> <sm:activationSpec componentName="myJmsReceiver"
> service="my:myJmsReceiver" destinationService="my:trace"
> failIfNoDestinationEndpoint="false">
>   <sm:component><bean
> class="org.servicemix.components.jms.JmsReceiverComponent">
>     <property name="template">
>       <bean class="org.springframework.jms.core.JmsTemplate102">
>         <property name="connectionFactory">
>           <ref local="jmsQueueConnectionFactory"/>
>         </property>
>          <property name="defaultDestination">
>             <ref bean="orderQueue"/>
>         </property>
>         <property name="pubSubDomain" value="false"/>
>         <!--<property name="receiveTimeout">
>             <value>20000</value>
>         </property>-->
>       </bean>
>     </property>
>   </bean></sm:component>
> </sm:activationSpec>
>
> <!-- -->
>
>
>         </sm:activationSpecs>
>     </sm:container>
>
>  <!-- JMS Queue Connection Factory -->
> <!-- -->
>   <bean id="jmsQueueConnectionFactory"
>           class="org.springframework.jndi.JndiObjectFactoryBean">
>     <property name="jndiTemplate">
>       <ref bean="jndiTemplate"/>
>     </property>
>     <property name="jndiName">
>       <value>UIL2ConnectionFactory</value>
>     </property>
>   </bean>
> <!-- -->
>  <!-- JNDI Template -->
> <!-- -->
> <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
>     <property name="environment">
>       <props>
>         <prop key="java.naming.factory.initial">
>             org.jnp.interfaces.NamingContextFactory
>         </prop>
>         <prop key="java.naming.provider.url">
>             localhost
>         </prop>
>             <prop key="java.naming.factory.url.pkgs">
>                 org.jnp.interfaces:org.jboss.naming
>             </prop>
>       </props>
>     </property>
>   </bean>
> <!-- -->
>  <!-- JMS Send destination -->
>
> <bean id="orderQueue"
>     class="org.springframework.jndi.JndiObjectFactoryBean">
>     <property name="jndiTemplate">
>         <ref bean="jndiTemplate"/>
>     </property>
>     <property name="jndiName">
>         <value>queue/OrderQueue</value>
>     </property>
> </bean>
>
> </beans>
>
> ----------- jms-sm.xml - END -------------------------
>
> 2006-04-09 22:02:14,953 ERROR [org.jboss.deployment.MainDeployer] could
> not create deployment:
> file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml
> org.jboss.deployment.DeploymentException: ServiceMix deployer unable to
> deploy: org.jboss.deployment.DeploymentInfo@e9715113 {
> url=file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml
> }
>   deployer: org.servicemix.jboss.deployment.JBIDeployer@20c906
>   status: null
>   state: CREATE_DEPLOYER
>   watch:
> file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml
>   altDD: null
>   lastDeployed: 1144620134109
>   lastModified: 1144620134078
>   mbeans:
> ; - nested throwable: (RuntimeMBeanException: null Cause:
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name
> 'org.servicemix.components.jms.JmsReceiverComponent#c1c428' defined in
> URL
> [file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml]:
> Initialization of bean failed; nested exception is
> javax.jms.IllegalStateException: The MessageConsumer is closed)
>     at
> org.servicemix.jboss.deployment.JBIDeployer.create(JBIDeployer.java:111)
>     at org.jboss.deployment.MainDeployer.create(MainDeployer.java:918)
>     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:774)
>     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:738)
>     at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:324)
>     at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
>     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
>     at
> org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:121)
>     at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
>     at
> org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
>     at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
>     at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
>     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
>     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
>     at $Proxy8.deploy(Unknown Source)
>     at
> org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:325)
>     at
> org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:483)
>     at
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:204)
>     at
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:215)
>     at
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:194)
> Caused by: RuntimeMBeanException: null Cause:
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name
> 'org.servicemix.components.jms.JmsReceiverComponent#c1c428' defined in
> URL
> [file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml]:
> Initialization of bean failed; nested exception is
> javax.jms.IllegalStateException: The MessageConsumer is closed
>     at
> org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:162)
>     at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:149)
>     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
>     at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
>     at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
>     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
>     at
> org.servicemix.jboss.deployment.JBIDeployer.create(JBIDeployer.java:105)
>     ... 21 more
> Caused by: org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name
> 'org.servicemix.components.jms.JmsReceiverComponent#c1c428' defined in
> URL
> [file:/C:/Development/liferay/ext/servers/jboss-tomcat/server/default/deploy/jms-sm.xml]:
> Initialization of bean failed; nested exception is
> javax.jms.IllegalStateException: The MessageConsumer is closed
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:370)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:147)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:96)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:705)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:611)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:329)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:147)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:96)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:193)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1012)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:823)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345)
>     at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
>     at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
>     at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
>     at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
>     at
> org.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:158)
>     at
> org.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:105)
>     at
> org.servicemix.jboss.deployment.JBIService.installServiceMixXml(JBIService.java:157)
>     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:324)
>     at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
>     ... 26 more
> Caused by: javax.jms.IllegalStateException: The MessageConsumer is closed
>     at
> org.jboss.mq.SpyMessageConsumer.setMessageListener(SpyMessageConsumer.java:211)
>     at
> org.servicemix.components.jms.JmsReceiverComponent.afterPropertiesSet(JmsReceiverComponent.java:54)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1058)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
>     ... 50 more
>
>
>
>