Can you provide the configuration details about aggregator for aggregating
two or many exchanges.

gnodet wrote:
> 
> Sure there is a way to do that.  You can check the role of the exchange.
>    if (exchange.getRole() == Role.CONSUMER)
> 
> if the role is CONSUMER, then it means the exchange has been sent by
> *this*
> component.  If the role is PROVIDER, the exchange has been sent by another
> component to this component.
> 
> Btw, even if using an asynchronous call, you could still use an InOut
> pattern,
> which may be simpler in your case, instead of using two InOnlys.
> 
> The other solution, as you suspected, it to use a split / aggregator
> pattern (which is
> what you do anyway).  The drawback is that you will have to find a way
> to correlate
> the output of the aggregator to send back the request in the Out message
> to the
> HTTP BC (see http://open.iona.com/issues/browse/ESB-18).
> 
> I think the best way to go is to continue using your master endpoint,
> but possibly
> switch to using InOut instead of two InOnlys, and do the aggregation of
> the
> messages inside the master endpoint.
> 
> On Wed, Feb 6, 2008 at 1:26 PM, sachin2008 <[EMAIL PROTECTED]> wrote:
>>
>>  Hi, Thanks for your suggestion.
>>  We have created seperate exchanges and send asynchronous request.
>>  But we have  a small problem here. As we are sendig the requests
>>  asynchronously, component do not wait for the resposne. So , to get the
>>  responses we have used the following approach.
>>
>>  Http BC sends InOut message to the  Master component. Master  sends 4
>>  requestes through different Inonly exchanges to various worker beans.
>> Then
>>  worker beans sends the response back to the master component as another
>>  InOnly exchange but with the same corelation id.
>>  In this scenario, we could not be able to find  whether the message that
>> we
>>  are getting at the master component is from actual BC or from the worker
>>  component.
>>
>>  Is there any one to find which service has send the message to the
>> master
>>  component.
>>
>>
>>
>>
>>
>>
>>  gnodet wrote:
>>  >
>>  > You don't need to create your own threads for that (though you could).
>>  > From your component or endpoint (you could simply use servicemix-bean
>> for
>>  > that),
>>  > just create the four JBI exchanges and send them asynchronously.   On
>> each
>>  > exchange, set a correlation id (you can use the id of the exchange
>>  > received).
>>  > When you have received all the exchange you need, just aggregate those
>> and
>>  > set the out message from the original exchange.
>>  > Note that camel or servicemix-eip may help there: they both can do
>>  > aggregation,
>>  > but given that you'll have to split the exchanges yourself, it may be
>>  > easier to just
>>  > write an endpoint and do the whole.
>>  >
>>  > On Jan 31, 2008 1:31 PM, sachin2008 <[EMAIL PROTECTED]> wrote:
>>  >>
>>  >> Hi
>>  >> I have to develop a  component in servicemix  for the following
>> scenario.
>>  >> Can any one let me know how to do this
>>  >>
>>  >> I have one JBI  component . This JBI component receives requests from
>>  >> other
>>  >> components. On receipt of the request, this components has to do the
>>  >> following things.
>>  >>
>>  >> It has to send 4 request s to 4 different JBI components for some XML
>>  >> data.
>>  >> Once it receives the response for all the requests it has to merge
>> the
>>  >> response into a single NM and then send it back to requested
>> component.
>>  >>
>>  >> Here the problem is all the 4 requests to other components should be
>>  >> handled
>>  >> in a concurrent manner.
>>  >> JBI component has to send a request first to another external service
>> .
>>  >> Instead of waiting for the response for this request this component
>> has
>>  >> to
>>  >> send 2nd request to another external service and then to 3rd one and
>> then
>>  >> to
>>  >> 4th one.
>>  >>
>>  >> Finally this component needs to wait for the responses from all the
>>  >> external
>>  >> services and then continue the remaining process as I said earlier.
>>  >>
>>  >> Note – The flow between the JBI component and external services
>> component
>>  >> should be IN-OUT.
>>  >>
>>  >> Currently we are handling the same scenario by handling threads in
>>  >> servlets.
>>  >> Now we need to simulate the same using  servicemix 3.1 + jboss. But I
>>  >> heard
>>  >> that in servicemix 3.1 we can't create external threads. I guess
>> beanflow
>>  >> component solves this problem.  But I couldn't find enough info on
>> this .
>>  >> can anyone please tell me where I can found info regarding this.
>>  >>
>>  >> --
>>  >> View this message in context:
>>  >>
>> http://www.nabble.com/concurrent-execution-in-servicemix-tp15203567s12049p15203567.html
>>  >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>  >>
>>  >>
>>  >
>>  >
>>  >
>>  > --
>>  > Cheers,
>>  > Guillaume Nodet
>>  > ------------------------
>>  > Blog: http://gnodet.blogspot.com/
>>  >
>>  >
>>
>>  --
>>  View this message in context:
>> http://www.nabble.com/concurrent-execution-in-servicemix-tp15203567s12049p15306516.html
>>
>>
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: 
http://www.nabble.com/concurrent-execution-in-servicemix-tp15203567s12049p15589649.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to