RE: understanding InOut

2018-12-14 Thread Steve Huston
> and how does the starting point react on the exchange it receives from the
> end?

Generically, it acts as thought it was the subject of a 'to' at the end. The 
exact behavior is probably documented in the endpoint reference info. For 
example, the page I referenced below discusses how JMS handles it.

> What if the end produces multiple exchanges?

You've exceeded my knowledge on this... sorry.

> Steve Huston  writes:
> 
> > I have also found it a bit difficult to get a straight answer on this
> > but my understanding at this point is that if the exchange gets to the
> > end of the route and is an InOut, the Out from the last endpoint goes
> > back to the 'from' starting point.
> >
> > http://camel.apache.org/request-reply.html
> >
> > -Steve
> >
> >> -Original Message-
> >> From: Peter Nagy (Jr) 
> >> Sent: Friday, December 14, 2018 10:27 AM
> >> To: users@camel.apache.org
> >> Subject: understanding InOut
> >>
> >> I still don't quite grok how InOut works. When I set the exchange
> >> pattern to InOut, what exactly will happen? Will the *next* processor
> >> reply to the previous one? If so, how? If so, how does the previous
> >> processor act on the reply? Or is the InOut just about 1 Processor?
> >> If so, can e.g.
> >> a Processor block
> >> until a split is reaggregated?
> >>
> >> I'm trying to find some documentation on this that would explain
> >> these details but I didn't find much. The request-reply page is brief
> >> and uses mocks.
> >>
> >> As a real world bonus - I'm running a mongodb aggregation pipeline
> >> splitting and streaming and would need to fire just 1 exchange
> >> further down the route when the whole aggregation is finished. I'm
> >> doing
> >>
> >>   .to("mongodb3://...")
> >>   .split(..).streaming()
> >>   ...
> >>   .aggregate(..)
> >>   .hereINeed1exchange;
> >>
> >> I recently found out that split can take an aggregator as argument,
> >> would that solve this case? How exactly does that work?
> >>
> >> --
> >> To reach a goal one has to enjoy the journey.
> 
> 
> --
> To reach a goal one has to enjoy the journey.


Re: understanding InOut

2018-12-14 Thread Peter Nagy (Jr)

Hi Steve,

and how does the starting point react on the exchange it receives 
from

the end? What if the end produces multiple exchanges?

Steve Huston  writes:

I have also found it a bit difficult to get a straight answer on 
this but my understanding at this point is that if the exchange 
gets to the end of the route and is an InOut, the Out from the 
last endpoint goes back to the 'from' starting point.


http://camel.apache.org/request-reply.html

-Steve


-Original Message-
From: Peter Nagy (Jr) 
Sent: Friday, December 14, 2018 10:27 AM
To: users@camel.apache.org
Subject: understanding InOut

I still don't quite grok how InOut works. When I set the 
exchange pattern to
InOut, what exactly will happen? Will the *next* processor 
reply to the
previous one? If so, how? If so, how does the previous 
processor act on the
reply? Or is the InOut just about 1 Processor? If so, can e.g. 
a Processor block

until a split is reaggregated?

I'm trying to find some documentation on this that would 
explain these
details but I didn't find much. The request-reply page is brief 
and uses mocks.


As a real world bonus - I'm running a mongodb aggregation 
pipeline splitting
and streaming and would need to fire just 1 exchange further 
down the

route when the whole aggregation is finished. I'm doing

  .to("mongodb3://...")
  .split(..).streaming()
  ...
  .aggregate(..)
  .hereINeed1exchange;

I recently found out that split can take an aggregator as 
argument, would that

solve this case? How exactly does that work?

--
To reach a goal one has to enjoy the journey.



--
To reach a goal one has to enjoy the journey.


RE: understanding InOut

2018-12-14 Thread Steve Huston
I have also found it a bit difficult to get a straight answer on this but my 
understanding at this point is that if the exchange gets to the end of the 
route and is an InOut, the Out from the last endpoint goes back to the 'from' 
starting point.

http://camel.apache.org/request-reply.html

-Steve

> -Original Message-
> From: Peter Nagy (Jr) 
> Sent: Friday, December 14, 2018 10:27 AM
> To: users@camel.apache.org
> Subject: understanding InOut
> 
> I still don't quite grok how InOut works. When I set the exchange pattern to
> InOut, what exactly will happen? Will the *next* processor reply to the
> previous one? If so, how? If so, how does the previous processor act on the
> reply? Or is the InOut just about 1 Processor? If so, can e.g. a Processor 
> block
> until a split is reaggregated?
> 
> I'm trying to find some documentation on this that would explain these
> details but I didn't find much. The request-reply page is brief and uses 
> mocks.
> 
> As a real world bonus - I'm running a mongodb aggregation pipeline splitting
> and streaming and would need to fire just 1 exchange further down the
> route when the whole aggregation is finished. I'm doing
> 
>   .to("mongodb3://...")
>   .split(..).streaming()
>   ...
>   .aggregate(..)
>   .hereINeed1exchange;
> 
> I recently found out that split can take an aggregator as argument, would that
> solve this case? How exactly does that work?
> 
> --
> To reach a goal one has to enjoy the journey.


Re: understanding InOut

2018-12-14 Thread Claus Ibsen
Hi

We have a page here with some details about IN vs OUT
http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html

On Fri, Dec 14, 2018 at 4:29 PM Peter Nagy (Jr)  wrote:
>
> I still don't quite grok how InOut works. When I set the exchange
> pattern to InOut, what exactly will happen? Will the *next*
> processor
> reply to the previous one? If so, how? If so, how does the
> previous
> processor act on the reply? Or is the InOut just about 1
> Processor? If
> so, can e.g. a Processor block until a split is reaggregated?
>
> I'm trying to find some documentation on this that would explain
> these
> details but I didn't find much. The request-reply page is brief
> and uses
> mocks.
>
> As a real world bonus - I'm running a mongodb aggregation pipeline
> splitting and streaming and would need to fire just 1 exchange
> further
> down the route when the whole aggregation is finished. I'm doing
>
>   .to("mongodb3://...")
>   .split(..).streaming()
>   ...
>   .aggregate(..)
>   .hereINeed1exchange;
>
> I recently found out that split can take an aggregator as
> argument,
> would that solve this case? How exactly does that work?
>
> --
> To reach a goal one has to enjoy the journey.



-- 
Claus Ibsen
-
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2