Hi It's a known issue[1], and we fixed it in SMX4 branch. If you are not comfortable with playing apache SNAPSHOT version, you can try out the coming up Fuse ESB 4.1.x monthly release version.
[1] http://fusesource.com/issues/browse/ESB-733 Willem triggershot wrote: > Hey, > > i have the following problem. I've defined a JMS - Service Unit with a > Provider and Consumer (like in the Tutorial "Camel" from > servicemix.apache.org): > > ###################################################### > <beans xmlns:jms="http://servicemix.apache.org/jms/1.0" > xmlns:tutorial="urn:org:apache:servicemix:tutorial:camel" > xmlns:amq="http://activemq.org/config/1.0"> > <jms:provider service="tutorial:jms" > endpoint="provider" > destinationName="tutorial.camel.queue" > connectionFactory="#connectionFactory" /> > <jms:consumer service="tutorial:jms" > endpoint="consumer" > destinationName="tutorial.camel.queue" > connectionFactory="#connectionFactory" > targetService="tutorial:jms" > targetEndpoint="consumer" /> > <amq:connectionFactory id="connectionFactory" > brokerURL="tcp://localhost:61616" /> > </beans> > ###################################################### > > > And here is my Camel MyRouteBuilder.java: > > ###################################################### > public class MyRouteBuilder extends RouteBuilder > { > public void configure() > { > from("timer://tutorial?fixedRate=true&delay=3000&period=10000") > .setBody(constant("<message>This is a test</message>")) > .convertBodyTo(DOMSource.class) > .to("jbi:endpoint:urn:org:apache:servicemix:tutorial:camel:jms:provider"); > > from("jbi:endpoint:urn:org:apache:servicemix:tutorial:camel:jms:consumer") > .to("log:mylogger"); > } > } > ###################################################### > > > The message receives the provider. But my Consumer cannot "get" the message > from the Queue. I get the following error: > > ###################################################### > 13:35:09,500 | WARN | nerContainer-498 | DefaultMessageListenerContainer | > AbstractMessageListenerContainer 646 | Execution of JMS message listener > failed > javax.jms.JMSException: Error sending JBI exchange > at > org.apache.servicemix.jms.endpoints.AbstractConsumerEndpoint.onMessage(AbstractConsumerEndpoint.java:575) > at > org.apache.servicemix.jms.endpoints.JmsConsumerEndpoint$1.onMessage(JmsConsumerEndpoint.java:505) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:518) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:479) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876) > at java.lang.Thread.run(Thread.java:619) > Caused by: java.lang.NullPointerException > at > java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881) > at > org.apache.servicemix.jbi.deployer.artifacts.AssemblyReferencesListener.pending(AssemblyReferencesListener.java:110) > at > org.apache.servicemix.jbi.deployer.artifacts.AssemblyReferencesListener.exchangeSent(AssemblyReferencesListener.java:98) > at > org.apache.servicemix.nmr.core.ChannelImpl.dispatch(ChannelImpl.java:282) > at > org.apache.servicemix.nmr.core.ChannelImpl.sendSync(ChannelImpl.java:141) > at > org.apache.servicemix.nmr.core.ChannelImpl.sendSync(ChannelImpl.java:127) > at > org.apache.servicemix.jbi.runtime.impl.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:187) > at > org.apache.servicemix.common.EndpointDeliveryChannel.sendSync(EndpointDeliveryChannel.java:115) > at > org.apache.servicemix.common.endpoints.SimpleEndpoint.sendSync(SimpleEndpoint.java:74) > at > org.apache.servicemix.jms.endpoints.AbstractConsumerEndpoint.onMessage(AbstractConsumerEndpoint.java:548) > ###################################################### > > What ' s the reason? I only want this: > - write a Message to the JMS provider > - JMS consumer polls the ActiveMQueue and if a message is incoming it writes > the message-content back to the ServiceMix-Log. > > Where is the error?
