I never used the bean component so I won't be of much help there, but it seems 
to me that you have an InOut exchange somewhere while your whole flow is InOnly.

The marshaler is useless here as you are using the default one so you can omit 
it. But this is not causing the error in my opinion. If you can switch to 
InOnly everywhere maybe it will work. Or otherwise, you can try to simplify at 
the extreme and build up from it to find the error. >From what I know you want 
to do, Camel -> Bean should be enough, your JMS endpoint are useless.



-----Message d'origine-----
De : KenBarnesJr [mailto:[email protected]] 
Envoyé : jeudi 3 septembre 2009 16:26
À : [email protected]
Objet : RE: Servicemix Bean camel jms little help


10:23:11,078 | ERROR | pool-flow.seda.servicemix-bean-thread-3 |
BeanComponent            | emix.common.AsyncBaseLifeCycle  537 | Error
processing exchange InOut[
  id: ID:10.30.16.204-12380479f45-11:1
  status: Done
  role: provider
  service: {http://barnes/test}beanService
  endpoint: beanPoint
  in: <?xml version="1.0" encoding="UTF-8"?><message>Hello world!</message> ]
javax.jbi.messaging.MessagingException: illegal exchange status: done
        at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:626)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:386)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:432)
        at
org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:88)
        at
org.apache.servicemix.bean.BeanEndpoint$PojoChannel.send(BeanEndpoint.java:628)
        at barnes.test.MyBean.onMessageExchange(MyBean.java:35)
        at
org.apache.servicemix.bean.BeanEndpoint.onProviderExchange(BeanEndpoint.java:230)
        at 
org.apache.servicemix.bean.BeanEndpoint.process(BeanEndpoint.java:217)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
        at
org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
10:23:11,140 | WARN  | DefaultMessageListenerContainer-2 | 
MessageListenerContainer | stractMessageListenerContainer  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: javax.jbi.messaging.MessagingException: illegal exchange status:
done
        at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:626)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:386)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:432)
        at
org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:88)
        at
org.apache.servicemix.bean.BeanEndpoint$PojoChannel.send(BeanEndpoint.java:628)
        at barnes.test.MyBean.onMessageExchange(MyBean.java:35)
        at
org.apache.servicemix.bean.BeanEndpoint.onProviderExchange(BeanEndpoint.java:230)
        at 
org.apache.servicemix.bean.BeanEndpoint.process(BeanEndpoint.java:217)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
        at
org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        ... 1 more

The bean JAVA looks like 

@Resource
    private DeliveryChannel channel;

    public void onMessageExchange(MessageExchange exchange) throws 
MessagingException {
        System.out.println("WLRI");
        exchange.setStatus(ExchangeStatus.DONE);
        channel.send(exchange);
    }

THE CAMEL JAVA 


        from("timer://tutorial?fixedRate=true&delay=3000&period=10000")         
    
            .setBody(constant("<message>Hello world!</message>"))               
         
            .to("jbi:endpoint:http://barnes/test/jms/provider";); 


THE JMS XBEAN

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns:jms="http://servicemix.apache.org/jms/1.0";
       xmlns:test="http://barnes/test";
       xmlns:amq="http://activemq.org/config/1.0";>

    <jms:provider service="test:jms"
                  endpoint="provider" 
                  destinationName="test.queue"
                  connectionFactory="#connectionFactory"/>

    <jms:consumer service="test:jms"
        endpoint="consumer"
        destinationName="test.queue"
        connectionFactory="#connectionFactory"
        marshaler="#marshaler"
        targetService="test:beanService"
        targetEndpoint="beanPoint"  />

    <bean id="marshaler"
class="org.apache.servicemix.jms.endpoints.DefaultConsumerMarshaler">
        <property name="mep" value="http://www.w3.org/2004/08/wsdl/in-out"; />
    </bean>

                        
    <amq:connectionFactory id="connectionFactory"
brokerURL="tcp://localhost:61616" />

</beans>


I dont know why i use a marshaler.... what exactly is it doing?? Just saw it in 
tutorial somewhere






















--
View this message in context: 
http://www.nabble.com/Servicemix-Bean-camel-jms-little-help-tp25257646p25277247.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to