You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Vitalii Tymchyshyn <vi...@tym.im> on 2016/08/02 13:14:57 UTC

Improving async camel capabilities

Hi.

I am looking into improving async non-blocking camel capabilities. Few days
ago I wrote a detailed e-mail, but got no answer, not sure if it got
through

In short, I can see next areas:
 * async bean language
 * integration with j8 CompletableFuture
 * making netty4 fully non-blocking
 * switch to async api in DefaultProducerTemplate

Will be grateful for any feedback as I want to be aligned with the current
plans in the area.

Best regards, Vitalii Tymchyshyn

Re: Improving async camel capabilities

Posted by Vitalii Tymchyshyn <vi...@tym.im>.
I've sent a pull request on netty and started looking into
DefaultProducerTemplate. The main question here is that we need a Future
implementation. For J1.8 CompletableFuture can be used.

On the other hand, it would be great to have it backported. The only thing
required is a simple Future implementation (that allows asynchronious
result setting). This class won't be exposed and won't be needed in 2.18

I am not sure, how to proceed and which direction to do a merge
later(master -> 2.17 or 2.17 ->master) if backport would be considered
important.

Best regards, Vitalii Tymchyshyn


Чт, 11 серп. 2016 о 18:37 Vitalii Tymchyshyn <vi...@tym.im> пише:

> Hi.
>
> Thanks for an answer.
> I have already made netty4 client-server connectivity async. Need to make
> one test to it for pull request.
>
> Next thing I suppose would be ProducerTemplate as this one is a big
> show-stopper for any async camel calling.
> This would be backward compatible.
> For J8 new methods may be added all over the place to return
> CompletableFuture instead of requiring a handler.
>
> As of bean language, I think about  automatically treating any @Handler
> returning CompletableFuture as a Async one. This would be very natural.
>
> Best regards, Vitalii Tymchyshyn
>
>
>
> Чт, 11 серп. 2016 11:01 користувач Claus Ibsen <cl...@gmail.com>
> пише:
>
>> Hi
>>
>> You have caught us in the summer holiday breaks where not as much happens.
>> Also we are focusing mostly on the next 2.18 release to get the bits
>> in the code, so we can get a release out after the summer break.
>>
>> Your ideas are good. The netty4 would be good to find sports that can
>> be improved.
>>
>> For some of the API changes to Java8 stuff then that is best for Camel
>> 3.0, as 2.x is api compatible for users to have an easy upgrade path.
>> But Camel 2.18 is the first to have Java8 as minimum so new features
>> can use Java 8 apis, but existing APIs should primary stay as-is.
>>
>> I suggest to get in touch again when Camel 2.18 is released or a bit
>> before where we come back and start to think about the upcoming
>> releases(s).
>>
>> Sorry for the late response, but there is many emails for some of us
>> to walk through.
>>
>> And just to be sure. We love contributions - we are not always
>> replying emails all day long, and then with a mailbox full then some
>> mails get out of page 1.
>> http://camel.apache.org/contributing
>>
>>
>>
>> On Tue, Aug 2, 2016 at 3:14 PM, Vitalii Tymchyshyn <vi...@tym.im> wrote:
>> > Hi.
>> >
>> > I am looking into improving async non-blocking camel capabilities. Few
>> days
>> > ago I wrote a detailed e-mail, but got no answer, not sure if it got
>> > through
>> >
>> > In short, I can see next areas:
>> >  * async bean language
>> >  * integration with j8 CompletableFuture
>> >  * making netty4 fully non-blocking
>> >  * switch to async api in DefaultProducerTemplate
>> >
>> > Will be grateful for any feedback as I want to be aligned with the
>> current
>> > plans in the area.
>> >
>> > Best regards, Vitalii Tymchyshyn
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
>>
>

Re: Improving async camel capabilities

Posted by Vitalii Tymchyshyn <vi...@tym.im>.
Hi.

Thanks for an answer.
I have already made netty4 client-server connectivity async. Need to make
one test to it for pull request.

Next thing I suppose would be ProducerTemplate as this one is a big
show-stopper for any async camel calling.
This would be backward compatible.
For J8 new methods may be added all over the place to return
CompletableFuture instead of requiring a handler.

As of bean language, I think about  automatically treating any @Handler
returning CompletableFuture as a Async one. This would be very natural.

Best regards, Vitalii Tymchyshyn



Чт, 11 серп. 2016 11:01 користувач Claus Ibsen <cl...@gmail.com> пише:

> Hi
>
> You have caught us in the summer holiday breaks where not as much happens.
> Also we are focusing mostly on the next 2.18 release to get the bits
> in the code, so we can get a release out after the summer break.
>
> Your ideas are good. The netty4 would be good to find sports that can
> be improved.
>
> For some of the API changes to Java8 stuff then that is best for Camel
> 3.0, as 2.x is api compatible for users to have an easy upgrade path.
> But Camel 2.18 is the first to have Java8 as minimum so new features
> can use Java 8 apis, but existing APIs should primary stay as-is.
>
> I suggest to get in touch again when Camel 2.18 is released or a bit
> before where we come back and start to think about the upcoming
> releases(s).
>
> Sorry for the late response, but there is many emails for some of us
> to walk through.
>
> And just to be sure. We love contributions - we are not always
> replying emails all day long, and then with a mailbox full then some
> mails get out of page 1.
> http://camel.apache.org/contributing
>
>
>
> On Tue, Aug 2, 2016 at 3:14 PM, Vitalii Tymchyshyn <vi...@tym.im> wrote:
> > Hi.
> >
> > I am looking into improving async non-blocking camel capabilities. Few
> days
> > ago I wrote a detailed e-mail, but got no answer, not sure if it got
> > through
> >
> > In short, I can see next areas:
> >  * async bean language
> >  * integration with j8 CompletableFuture
> >  * making netty4 fully non-blocking
> >  * switch to async api in DefaultProducerTemplate
> >
> > Will be grateful for any feedback as I want to be aligned with the
> current
> > plans in the area.
> >
> > Best regards, Vitalii Tymchyshyn
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>

Re: Improving async camel capabilities

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

You have caught us in the summer holiday breaks where not as much happens.
Also we are focusing mostly on the next 2.18 release to get the bits
in the code, so we can get a release out after the summer break.

Your ideas are good. The netty4 would be good to find sports that can
be improved.

For some of the API changes to Java8 stuff then that is best for Camel
3.0, as 2.x is api compatible for users to have an easy upgrade path.
But Camel 2.18 is the first to have Java8 as minimum so new features
can use Java 8 apis, but existing APIs should primary stay as-is.

I suggest to get in touch again when Camel 2.18 is released or a bit
before where we come back and start to think about the upcoming
releases(s).

Sorry for the late response, but there is many emails for some of us
to walk through.

And just to be sure. We love contributions - we are not always
replying emails all day long, and then with a mailbox full then some
mails get out of page 1.
http://camel.apache.org/contributing



On Tue, Aug 2, 2016 at 3:14 PM, Vitalii Tymchyshyn <vi...@tym.im> wrote:
> Hi.
>
> I am looking into improving async non-blocking camel capabilities. Few days
> ago I wrote a detailed e-mail, but got no answer, not sure if it got
> through
>
> In short, I can see next areas:
>  * async bean language
>  * integration with j8 CompletableFuture
>  * making netty4 fully non-blocking
>  * switch to async api in DefaultProducerTemplate
>
> Will be grateful for any feedback as I want to be aligned with the current
> plans in the area.
>
> Best regards, Vitalii Tymchyshyn



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