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?

Reply via email to