I'd like to use the 2009.02 version ... but unfortunatly, the migration is not as easy it should be ... Just replacing the old jar by the new one does not work... Have to modify the camel descriptor, and my java routes are still not loaded by camel ..
<stack-trace><![CDATA[org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: com.esb.camel_su.routes.Routes.from(Ljava/lang/String;)Lorg/apache/camel/model/RouteType; Raphaël 2010/1/17 tranchida <[email protected]> > > Probably the version 2009.02 fix this bug > > http://issues.apache.org/activemq/browse/SMXCOMP-651 > > > > > Raphaël Delaporte wrote: > > > > I'm using the SMX 3.3.1 with 2009.01 version (JMS & Camel). > > I was thinking the same thing ... Looks like the JMS consumer never got > > the > > DONE; > > > > It does the same thing with the ?mep=in-only ... > > > > > > OK this works if I do 2 camel routes as you suggested ... Strange isn't > it > > ? > > Is it a bug ? > > > > > > Raphaël > > > > > > 2010/1/17 tranchida <[email protected]> > > > >> > >> It's look like the jms consumer never receive a done status from camel > >> > >> I don't know maybe it's a bug in servicemix-camel, which version do you > >> use > >> ? > >> > >> You can try to add ?mep=in-only to force an in-only exchange > >> > >> jbi:endpoint: > >> http://esb/jmsProviderErreursDLQ/jmsProviderErreursDLQ?mep=in-out > >> > >> see > >> > http://camel.apache.org/how-do-i-set-the-mep-when-interacting-with-jbi.html > >> > >> you can also maybe isolate your route with a camel seda > >> > >> from("jbi:...").to("seda:job"); > >> > >> from("seda:job").... > >> > >> > >> > >> Raphaël Delaporte wrote: > >> > > >> > Hi > >> > > >> > Thanks for explaination. > >> > I've been running in other troubles... but this time, I run in a non > >> > transacted routes. > >> > > >> > I've a JMS consumer which calls a Camel JBI endpoint, and if > everything > >> > goes > >> > well, calls an other JMS provider to put the message in a queue (this > >> > works > >> > well). > >> > In this Camel endpoint, I want to define an errorHandler which sends > >> the > >> > message to a DLQ for example. > >> >>> errorHandler(deadLetterChannel("jbi:endpoint: > >> > http://esb/jmsProviderErreursDLQ/jmsProviderErreursDLQ")); > >> > > >> > On errors, my custom error handler is called and I am able to find my > >> > message in my DLQ (this works well) > >> > But, my JMS consumer doesn't want to take anymore messages. It seems > >> it's > >> > freezed on the last exchange (and servicemix is freezed as well, > cannot > >> > shutdown, etc..) > >> > > >> > When I keep the default error handler, or if I set something like > this, > >> it > >> > works. > >> >>> errorHandler(deadLetterChannel("log:myClass")); > >> > > >> > Seems I've got trouble when I want to call other JBI endpoints into > the > >> > errorHandler. > >> > > >> > Any ideas of what's happen ? > >> > > >> > Thanks for your help. > >> > Raphaël > >> > > >> > > >> > 2010/1/17 tranchida <[email protected]> > >> > > >> >> > >> >> The explanation of autoEnlistInTransaction and the different QOS > >> >> depending > >> >> on > >> >> the flow can be found here -> > >> >> http://servicemix.apache.org/transactions.html > >> >> > >> >> For my usage, I totaly disable jms and jca flow. I use only seda and > >> >> pairs > >> >> of jms consumer/provider for persistence / failover / load balancing. > >> >> > >> >> See ref : > >> >> > >> >> > >> >> > >> > http://trenaman.blogspot.com/2008/11/jmsjca-flows-in-servicemix-wrong-level.html > >> >> > http://trenaman.blogspot.com/2009/03/new-jms-flow-in-servicemix-4.html > >> >> > >> >> > >> >> > >> >> Raphaël Delaporte wrote: > >> >> > > >> >> > Hi, > >> >> > > >> >> > Thanks for your replies. > >> >> > > >> >> > 1. I did not set the autoEnlistInTransaction="true" in > >> servicemix.xml, > >> >> but > >> >> > I > >> >> > don't understand for what this property is used for. I've just seen > >> >> > "Retrieve the value for automatic transaction enlistment" but it's > >> not > >> >> > very > >> >> > clear for me ... > >> >> > -> OK it works with this property !! Very good ! > >> >> > > >> >> > > >> >> > 2. Ok my MEP is InOnly because it comes from a jms consumer : > >> >> > - but why have I the transaction rolledback if I specify > >> non-existant > >> >> > targetEndpoint / targetService for example ? Is it because the > >> exchange > >> >> is > >> >> > still on the jms component side ? > >> >> > - How can I specify an InOut MEP on the jms consumer ? > >> >> > - the defaultMep property does not exist anymore on the new > JMS > >> >> > endpoints > >> >> > - the synchronous property does not change the MEP > >> >> > > >> >> > > >> >> > 3. Subsidiary question guys. > >> >> > I've seen in the stacktrace when transaction is rolledback that the > >> >> flow > >> >> > used is the SEDA flow. I guess this flow is not persistant at all > .. > >> Am > >> >> I > >> >> > wrong ? > >> >> > Is there a way to force this exchange to use other flow, as JMS > flow > >> >> for > >> >> > instance ? > >> >> > I commented out the SEDA flow in the servicemix.xml, and it uses > the > >> >> JMS > >> >> > flow. But this is not really a good method... > >> >> > > >> >> > > >> >> > Thanks a lot ! > >> >> > Raphaël > >> >> > > >> >> > > >> >> > > >> >> > 2010/1/17 Jean-Baptiste Onofre <[email protected]> > >> >> > > >> >> >> Hi Raph, > >> >> >> > >> >> >> be careful, as your MEP is InOnly, in case of error, it can't go > >> back > >> >> to > >> >> >> the JMS endpoint. > >> >> >> > >> >> >> Try to use InOut MEP, it should be better. > >> >> >> > >> >> >> Regards > >> >> >> JB > >> >> >> > >> >> >> > >> >> >> Raphaël Delaporte wrote: > >> >> >> > >> >> >>> Hi, > >> >> >>> > >> >> >>> I'm using SMX 3.3.1 with the JMS component 2009.01. > >> >> >>> > >> >> >>> I use the jms-consumer endpoint in the XA transacted mode. > >> >> >>> This works, because if I want to test the transactionnal > >> behaviour, > >> I > >> >> >>> specify some wrong service endpoint and my JMS message is > >> rolledback > >> >> to > >> >> >>> the > >> >> >>> queue. So that's OK. > >> >> >>> > >> >> >>> But my route calls the Camel JBI endpoint within the transaction. > >> >> >>> If I throw any exception from a camel bean, the transaction is > not > >> >> >>> rolledback, and the JMS message is not redelivered into the > queue. > >> >> >>> It seems the transaction is commited. > >> >> >>> > >> >> >>> Here is my configuration : > >> >> >>> > >> >> >>> --- JMS SMX component ----- > >> >> >>> <jms:consumer service="esb:jmsConsumerTrans" > >> endpoint="jmsConsumer" > >> >> >>> targetService="esb:CamelTrans" targetEndpoint="trans" > >> >> >>> destinationName="queue/in" > >> >> connectionFactory="#connectionFactory" > >> >> >>> transacted="xa" /> > >> >> >>> > >> >> >>> > >> >> >>> --- Camel route ----- > >> >> >>> public void configure() throws Exception { > >> >> >>> > >> >> >>> errorHandler(noErrorHandler()); > >> >> >>> > >> >> >>> from("jbi:endpoint:http://esb/CamelTrans/trans") > >> >> >>> .to(LOG) > >> >> >>> .beanRef("routes", "erreur"); > >> >> >>> > >> >> >>> } > >> >> >>> > >> >> >>> public void erreur() throws Exception { > >> >> >>> Thread.sleep(1000); > >> >> >>> throw new Exception("erreur ..."); > >> >> >>> } > >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> There is something strange to me (and this is why I guess this is > >> a > >> >> SMX > >> >> >>> related and not Camel related). I've enabled the debug mode, and > I > >> >> can > >> >> >>> see > >> >> >>> the content of the messages. In the last exchange, I can see an > >> error > >> >> >>> field > >> >> >>> with my exception (the one which comes from the Camel endpoint I > >> >> guess) > >> >> >>> > >> >> >>> WARN - SimpleEndpoint - SimpleEndpoint.fail > >> called: > >> >> >>> DEBUG - DeliveryChannelImpl - Send > >> >> >>> ID:192.168.0.3-12638f8f9d2-11:0 in > >> DeliveryChannel{servicemix-camel} > >> >> >>> DEBUG - SecuredBroker - send exchange with > secure > >> >> >>> broker > >> >> >>> DEBUG - SedaFlow - Called Flow send > >> >> >>> DEBUG - SedaQueue - > >> >> >>> org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@517bc3 > >> dequeued > >> >> >>> exchange: InOnly[ > >> >> >>> id: ID:192.168.0.3-12638f8f9d2-11:0 > >> >> >>> status: Error > >> >> >>> role: consumer > >> >> >>> service: {http://esb}CamelTrans > >> >> >>> endpoint: trans > >> >> >>> in: <?xml version="1.0" encoding="UTF-8"?><requete xmlns=" > >> http://esb > >> >> "/> > >> >> >>> error: java.lang.Exception: erreur ... > >> >> >>> ] > >> >> >>> DEBUG - DeliveryChannelImpl - Notifying exchange > >> >> >>> ID:192.168.0.3-12638f8f9d2-11:0(1b9bbe8) in > >> >> >>> DeliveryChannel{servicemix-jms} > >> >> >>> from processInboundSynchronousExchange > >> >> >>> DEBUG - DeliveryChannelImpl - Notified: > >> >> >>> ID:192.168.0.3-12638f8f9d2-11:0(1b9bbe8) in > >> >> >>> DeliveryChannel{servicemix-jms} > >> >> >>> from sendSync > >> >> >>> > >> >> >>> > >> >> >>> Thanks for your help ! > >> >> >>> Raphaël > >> >> >>> > >> >> >>> > >> >> >> -- > >> >> >> Jean-Baptiste Onofré > >> >> >> --------------------------------- > >> >> >> HomePage > >> >> >> http://www.nanthrax.net > >> >> >> --------------------------------- > >> >> >> Contacts > >> >> >> [email protected] > >> >> >> [email protected] > >> >> >> --------------------------------- > >> >> >> OpenSource > >> >> >> BuildProcess/AutoDeploy > >> >> >> http://buildprocess.sourceforge.net > >> >> >> Apache ServiceMix > >> >> >> http://servicemix.apache.org > >> >> >> ----------------------------------- > >> >> >> PGP : 17D4F086 > >> >> >> > >> >> > > >> >> > > >> >> > >> >> -- > >> >> View this message in context: > >> >> > >> > http://old.nabble.com/Transaction-rollback-with-Camel-JBI-endpoint-tp27193847p27200109.html > >> >> Sent from the ServiceMix - User mailing list archive at Nabble.com. > >> >> > >> >> > >> > > >> > > >> > >> -- > >> View this message in context: > >> > http://old.nabble.com/Transaction-rollback-with-Camel-JBI-endpoint-tp27193847p27200582.html > >> Sent from the ServiceMix - User mailing list archive at Nabble.com. > >> > >> > > > > > > -- > View this message in context: > http://old.nabble.com/Transaction-rollback-with-Camel-JBI-endpoint-tp27193847p27200896.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > >
