|
View:
New views
18 Messages
—
Rating Filter:
Alert me
|
|
|
Where does DeliveryChannel.send() to?When I call DeliveryChannel.send(), where does the message go? how can I set the destination?
thanks. |
|
|
|
|
|
Re: Where does DeliveryChannel.send() to?Hi,
I define a bean component and want to route this message to another SU. How can I set its target service? thanks
|
|
|
|
|
|
Re: Where does DeliveryChannel.send() to?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.
|
|
|
|
|
|
Re: Where does DeliveryChannel.send() to?Using ServiceMixClient will add dependency in my bean which is not flexible. Can I set the targetService in the xbean.xml file? In this way, I just call send() method in my bean, it will route the message to the service specified in the xbean.xml file.
In addition, does servicemix tutorial include this information?
|
|
|
Re: Where does DeliveryChannel.send() to?Agreed. Let me check the servicemix-bean code and provide a feedback to you.
Regards JB -----Original Message----- From: youhaodeyi <youhaodeyi@...> Date: Mon, 26 Oct 2009 23:42:27 To: <users@...> Subject: Re: Where does DeliveryChannel.send() to? Using ServiceMixClient will add dependency in my bean which is not flexible. Can I set the targetService in the xbean.xml file? In this way, I just call send() method in my bean, it will route the message to the service specified in the xbean.xml file. In addition, does servicemix tutorial include this information? Jean-Baptiste Onofré wrote: > > Ok. > > A solution is a to add some property to your bean > (targetService/targetEndpoint for example). You cab create a > ServiceMixClient in your bean and send the exchange ussing this client. > Sorry I can't provide you some samples code for now (I'm in transit ;)). > > Regards > JB > ------Original Message------ > From: youhaodeyi > To: users@... > Subject: Re: Where does DeliveryChannel.send() to? > Sent: Oct 27, 2009 07:23 > > > 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: users@... >> 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: users@... >>> ReplyTo: users@... >>> 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--tp26070654p26072663.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--tp26070654p26072828.html Sent from the ServiceMix - User mailing list archive at Nabble.com. |
|
|
Re: Where does DeliveryChannel.send() to?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: users@... > > 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: users@... > >> ReplyTo: users@... > >> 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. > > > > > > > > > |
|
|
Re: Where does DeliveryChannel.send() to?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
|
|
|
Re: Where does DeliveryChannel.send() to?Well, guess you could try to do sth like:
Destination target = new DestinationImpl("service:http://the.service.you.want.to.route", beanEndpoint); where the beanEndpoint is the bean created by <bean:endpoint service="uncompress_service" endpoint="uncompress_service_endpoint" bean="#receiver" /> but it's kind of clumsy, and IMHO it's far easier to use camel for such purpose br, maciek On Wed, 2009-10-28 at 17:48 -0700, youhaodeyi wrote: > 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: users@... > >> > 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: users@... > >> >> ReplyTo: users@... > >> >> 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. > >> > > >> > > >> > > >> > > >> > > > > > > > |
|
|
Re: Where does DeliveryChannel.send() to?Hi,
How about if I want to send reply message to client first and then route the message to another SE?
|
|
|
Re: Where does DeliveryChannel.send() to?Where is DestinationImpl defined? Can I plug-in it in the configuration file?
|
|
|
Re: Where does DeliveryChannel.send() to?it's in org.apache.servicemix.bean.support package (servicemix-bean).
What do you mean by 'plugin-in in configuration file'? Define it in xbean.xml? br, maciek On Sat, 14 Nov 2009 02:57:44 -0800 (PST), youhaodeyi <youhaodeyi@...> wrote: > Where is DestinationImpl defined? Can I plug-in it in the configuration > file? > > > Maciek Prochniak wrote: >> >> Well, guess you could try to do sth like: >> >> Destination target = new >> DestinationImpl("service:http://the.service.you.want.to.route", >> beanEndpoint); >> >> where the beanEndpoint is the bean created by >> >> <bean:endpoint service="uncompress_service" >> endpoint="uncompress_service_endpoint" bean="#receiver" /> >> >> but it's kind of clumsy, and IMHO it's far easier to use camel for such >> purpose >> >> br, >> maciek >> >> On Wed, 2009-10-28 at 17:48 -0700, youhaodeyi wrote: >>> 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" >>> /> >>> >> >>> >> </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, >>> ? >>> >> > ------Original Message------ >>> >> > From: youhaodeyi >>> >> > To: users@... >>> >> > 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 >>> 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: users@... >>> >> >> ReplyTo: users@... >>> >> >> Subject: Where does DeliveryChannel.send() to? >>> >> >> Sent: Oct 27, 2009 02:17 >>> >> >> >>> >> >> >>> >> >> When I call DeliveryChannel.send(), where does the message go? >>> can >>> >> I >>> >> >> set >>> >> >> the destination? >>> >> >> >>> >> >> thanks. >>> >> >> -- >>> >> >> View this message in context: >>> >> >> >>> >> >>> >>> >> >> Sent from the ServiceMix - User mailing list archive at >>> >> >> Nabble.com. >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> > >>> >> > -- >>> >> > View this message in context: >>> >> > >>> >> >>> >>> >> > Sent from the ServiceMix - User mailing list archive at Nabble.com. >>> >> > >>> >> > >>> >> > >>> >> > >>> >> >>> > >>> > >>> > >>> >> >> >> |
|
|
Re: Where does DeliveryChannel.send() to?Yes I mean plug-in the xbean.xml.
What I want to do is to make the service url be configured. In addition, can I use Destination to send message to a service by service name or endpoint name not url? I have a service doesn't have an URL. How can I send message to this service? thanks, Zhao Yi
|
|
|
Re: Where does DeliveryChannel.send() to?Hi,
I don't find send() method in Destination class. How can you send message to the target service? thanks, Zhao Yi
|
|
|
Re: Where does DeliveryChannel.send() to?in smx 3.3, it has signature in Destination interface:
Future<NormalizedMessage> send(NormalizedMessage message). Which version are you using? br, maciek On Sat, 2009-11-14 at 17:46 -0800, youhaodeyi wrote: > Hi, > > I don't find send() method in Destination class. How can you send message to > the target service? > > thanks, > > Zhao Yi > > 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: users@... > >> > 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: users@... > >> >> ReplyTo: users@... > >> >> 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. > >> > > >> > > >> > > >> > > >> > > > > > > > |
|
|
Re: Where does DeliveryChannel.send() to?On Sat, 2009-11-14 at 17:22 -0800, youhaodeyi wrote:
> Yes I mean plug-in the xbean.xml. > > What I want to do is to make the service url be configured. > In addition, can I use Destination to send message to a service by service > name or endpoint name not url? I have a service doesn't have an URL. How can > I send message to this service? what do you mean by service that doesn't have URL?? Each service is identified on NMR by uri - if you use form of urn:foo:bar:MyService:MyEndpoint - then you can also use it in Destination configuration. About configuration in xbean.xml - I think it's easiest to inject just the URI of target service - e.g. have destinationServiceURI property (string) in bean implementing MessageExchangeListener, and then just use it to create destination br, maciek > thanks, > > Zhao Yi > > > Maciek Prochniak wrote: > > > > it's in org.apache.servicemix.bean.support package (servicemix-bean). > > > > What do you mean by 'plugin-in in configuration file'? > > Define it in xbean.xml? > > > > br, > > maciek > > > > > > On Sat, 14 Nov 2009 02:57:44 -0800 (PST), youhaodeyi > > <youhaodeyi@...> > > wrote: > >> Where is DestinationImpl defined? Can I plug-in it in the configuration > >> file? > >> > >> > >> Maciek Prochniak wrote: > >>> > >>> Well, guess you could try to do sth like: > >>> > >>> Destination target = new > >>> DestinationImpl("service:http://the.service.you.want.to.route", > >>> beanEndpoint); > >>> > >>> where the beanEndpoint is the bean created by > >>> > >>> <bean:endpoint service="uncompress_service" > >>> endpoint="uncompress_service_endpoint" bean="#receiver" /> > >>> > >>> but it's kind of clumsy, and IMHO it's far easier to use camel for such > >>> purpose > >>> > >>> br, > >>> maciek > >>> > >>> On Wed, 2009-10-28 at 17:48 -0700, youhaodeyi wrote: > >>>> 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: users@... > >>>> >> > 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: users@... > >>>> >> >> ReplyTo: users@... > >>>> >> >> 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. > >>>> >> > > >>>> >> > > >>>> >> > > >>>> >> > > >>>> >> > >>>> > > >>>> > > >>>> > > >>>> > >>> > >>> > >>> > > > > > |
| Free embeddable forum powered by Nabble | Forum Help |