Hello, Thanks for your information.
In this way, I have to configure the target service in code which can't be modified at runtime. Can I configure this in a configuration? Does servicemix support something like outbound router? Regards Maciek Prochniak wrote: > > Hello, > we are using the following in such situation: > > Instance variables: > > @Resource > private DeliveryChannel channel; > > @ExchangeTarget(uri="service:http://the.service.you.want.to.route") > private Destination target; > > routing to another service: > NormalizedMessage nm = target.createMessage(); > nm.setContent(new StringSource("<bububub/>")); > nm.setProperty("fileId", "parara"); > //you receive Future<NormalizedMessage> object > target.send(nm); > > There are some caveats in this approach: > 1. target.createMessage() can only create InOut message exchanges. > 2. onMessageExchange method is invoked in different contexts, this is > the code that finally worked for us: > public void onMessageExchange(MessageExchange me) throws > MessagingException { > //our bean is receiving request, otherwise it's reply from > target.send > if (me.getRole().equals(Role.PROVIDER)) { > //do the real stuff > process(); > } > //we have to acknowledge - otherwise e.g. memory leaks may happen > if (me.getStatus().equals(ExchangeStatus.ACTIVE)) { > me.setStatus(ExchangeStatus.DONE); > channel.send(me); > } > } > > hope this helps > > br, > maciek > > > > On Mon, 2009-10-26 at 23:23 -0700, youhaodeyi wrote: >> Hi, >> >> This is my xbean.xml file: >> >> <beans> >> >> <bean:endpoint service="uncompress_service" >> endpoint="uncompress_service_endpoint" >> bean="#receiver" /> >> >> <bean id="receiver" class="com.ge.med.ric.service.UncompressService" /> >> >> </beans> >> >> The bean implements MessageExchangeListener interface. I want to route >> the >> message to another bean service. >> >> >> >> >> Jean-Baptiste Onofré wrote: >> > >> > Your bean components implements which interface: listener, consumer ? >> > ------Original Message------ >> > From: youhaodeyi >> > To: [email protected] >> > Subject: Re: Where does DeliveryChannel.send() to? >> > Sent: Oct 27, 2009 07:08 >> > >> > >> > Hi, >> > >> > I define a bean component and want to route this message to another SU. >> > How >> > can I set its target service? >> > >> > thanks >> > >> > >> > Jean-Baptiste Onofré wrote: >> >> >> >> Hi, >> >> >> >> DeliveryChannel is part of JBI specification. So when you call send() >> >> method on it, the exchange containing the normalized message is send >> into >> >> the Normalized Router (NMR). The message is routed to the destination >> >> using exchange properties (target service, target endpoint, MEP, ...). >> >> >> >> Regards >> >> JB >> >> ------Original Message------ >> >> From: youhaodeyi >> >> To: [email protected] >> >> ReplyTo: [email protected] >> >> Subject: Where does DeliveryChannel.send() to? >> >> Sent: Oct 27, 2009 02:17 >> >> >> >> >> >> When I call DeliveryChannel.send(), where does the message go? how can >> I >> >> set >> >> the destination? >> >> >> >> thanks. >> >> -- >> >> View this message in context: >> >> >> http://www.nabble.com/Where-does-DeliveryChannel.send%28%29-to--tp26070654p26070654.html >> >> Sent from the ServiceMix - User mailing list archive at Nabble.com. >> >> >> >> >> >> >> >> >> >> >> > >> > -- >> > View this message in context: >> > >> http://www.nabble.com/Where-does-DeliveryChannel.send%28%29-to--tp26070654p26072560.html >> > Sent from the ServiceMix - User mailing list archive at Nabble.com. >> > >> > >> > >> > >> > > > -- View this message in context: http://www.nabble.com/Where-does-DeliveryChannel.send%28%29-to--tp26070654p26104552.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
