Once I used the injected DeliveryChannel (instead of servicemix client) from my bean (I have to manually pass it around to other classes since I can't inject it into other classes through spring), the jms notifications don't give me that error anymore.
Now I just need to figure out how to handle the servicemix-jms components blocking after a certain amount of messages are sent. On Jan 15, 2008 4:55 PM, Ryan Moquin <[EMAIL PROTECTED]> wrote: > Actually you know, this sounds like the error described on this page, > except that the release I'm using (3.2.1) shouldn't have this issue > anymore: > > http://servicemix.apache.org/servicemix-bean.html > > Disclaimer > > In versions 3.1 to 3.1.2 the ServiceMix Bean component will not handle > asynchronous messages correctly because the final send of the message marked > as DONE back to the NMR will be handled as a consumer message and that fails > because there is no corresponding provider message. The only workaround is > to send the messages synchronously. Note: This was resolved in 3.1.3, > 3.2.x and later via SM-1110 > <https://issues.apache.org/activemq/browse/SM-1110>. > > So maybe I need to try just sending synchronously then or something... I > don't know why it wouldn't work correctly. > > On Jan 15, 2008 11:52 AM, Daryl Richter < [EMAIL PROTECTED]> wrote: > > > Ryan- > > > > On Jan 15, 2008, at 10:12 AM, Ryan Moquin wrote: > > > > > Can anyone explain why this error would occur? > > > > > > javax.jbi.messaging.MessagingException: No component named ID: > > > 10.40.16.154-1177df9603c-0 :1 - Couldn't route MessageExchange InOnly[ > > > id: ID:10.40.16.154-1177df9603c-28:0 > > > status: Done > > > role: consumer > > > service: {urn://service.notification}feed-jms-service > > > endpoint: notification > > > > > > > As you can see from the status above, this is the just the "reply" > > Done message exchange indicating that the provider received your > > message. Do you code like the following in your onMessageExchange() > > method? > > > > if( messageExchange.getStatus() == ExchangeStatus.ACTIVE ) ... > > > > before you do any work on it? > > > > > > > > > > The situation is that I have a servicemix-bean deployment with a > > > bean that > > > fires everything 15 seconds using quartz. Notifications are > > > generated and > > > sent to a jms service and then to a topic. When I start everything > > > up, the > > > first notification seems to go correctly to the jms service, the > > > next 2 give > > > the above error, then it goes back to successfully sending to the jms > > > service. Sporadically I'll get error like the above if I let it > > > run. I > > > haven't seemed to have this problem when sending from a cxf > > > service. My > > > xbean.xml hasn't changed, though my code has changed a little for > > > sending to > > > the jms service. Is this a code issue? > > > > > > The code I am using is: > > > > > > destinationQname = new QName(getDestinationNamespace(), > > > getDestinationService()); > > > Source feedItemSource = getMarshaller().marshal(feedItem); > > > InOnly exchange = client.createInOnlyExchange(); > > > NormalizedMessage message = exchange.getInMessage (); > > > message.setContent(feedItemSource); > > > exchange.setService(destinationQname); > > > client.send(exchange); > > > > > > It really is pretty standard and seems to work 90% of the time, I > > > just don't > > > understand why this error seems to pop up the other 10%. > > > > > > Thanks, > > > Ryan > > > > -- > > Daryl > > http://itsallsemantics.com > > > > > > >
