You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by tivv <gi...@git.apache.org> on 2016/09/11 23:27:09 UTC

[GitHub] camel pull request #1167: CAMEL-10308

GitHub user tivv opened a pull request:

    https://github.com/apache/camel/pull/1167

    CAMEL-10308

    Provide a way to use async engine from ProducerTemplate

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tivv/camel j8-producer-template

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/camel/pull/1167.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1167
    
----
commit 5daf4fa79a8cfa74e0d3253d07e8548c844de3a9
Author: Vitalii Tymchyshyn <vi...@tym.im>
Date:   2016-09-11T23:25:42Z

    CAMEL-10308
    Provide a way to use async engine from ProducerTemplate

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Re: [GitHub] camel pull request #1167: CAMEL-10308

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

Yeah that is a better name

On Thu, Sep 15, 2016 at 6:08 PM, Vitalii Tymchyshyn <vi...@tym.im> wrote:
> How about seThreadedAsyncMode(boolean), defailt true?
>
> I will also do checkstyle till EOW.
>
> Best regards, Vitalii Tymchyshyn
>
> Чт, 15 вер. 2016 05:08 користувач Claus Ibsen <cl...@gmail.com> пише:
>
>> Hi
>>
>> I do wonder if we can come up with a better name for the setter/getter
>> of synchronous on ProducerTemplate.
>>
>> Otherwise great work. The Java 8 API makes the code easier when you
>> can compose the futures with the thenApply.
>>
>> Just a note that we must/should ensure that existing Camel users can
>> take their code as-is and compile with Java 8 and Camel 2.18
>> dependencies without having to change their source code.
>>
>> Down the road we should also look at if some of this makes sense to
>> add to the newer and simpler FluentProducerTemplate. But lets first
>> get this new stuff working well on ProducerTemplate.
>>
>>
>>
>>
>> On Mon, Sep 12, 2016 at 1:33 AM, Vitalii Tymchyshyn <vi...@tym.im> wrote:
>> > Hi, all
>> >
>> > I've finished first draft of async support for ProducerTemplate. Please
>> > review and comment.
>> > Primary features:
>> >  * All async* methods of ProducerTemplate now return CompletableFuture
>> > instead of regular Future. It makes a bridge from Camel pipelines to
>> plain
>> > Java 8 CompletableFuture engine.
>> >  * Async engine is employed. Previously async* methods were just calling
>> > regular sync engine from a thread pool. Thus there was no clean way to
>> > employ async engine when calling camel routes from Java code.
>> >  * New parameter was added to DefaultProducerTemplate allowing to skip
>> > thread pool while still using async engine. It should allow very
>> efficient
>> > reactive non-blocking programming with camel.
>> >
>> > P.S. Honestly I like using camel in reactive programming much. It
>> provides
>> > a lot of non-blocking endpoints and make debug much easier with route
>> > statistics & in-flight repository. As soon as this features will be in
>> core
>> > I am going to write an blog post highlighting all value added over
>> regular
>> > CompletableFuture.
>> >
>> > Best regards, Vitalii Tymchyshyn
>> >
>> > Нд, 11 вер. 2016 о 19:27 tivv <gi...@git.apache.org> пише:
>> >
>> >> GitHub user tivv opened a pull request:
>> >>
>> >>     https://github.com/apache/camel/pull/1167
>> >>
>> >>     CAMEL-10308
>> >>
>> >>     Provide a way to use async engine from ProducerTemplate
>> >>
>> >> You can merge this pull request into a Git repository by running:
>> >>
>> >>     $ git pull https://github.com/tivv/camel j8-producer-template
>> >>
>> >> Alternatively you can review and apply these changes as the patch at:
>> >>
>> >>     https://github.com/apache/camel/pull/1167.patch
>> >>
>> >> To close this pull request, make a commit to your master/trunk branch
>> >> with (at least) the following in the commit message:
>> >>
>> >>     This closes #1167
>> >>
>> >> ----
>> >> commit 5daf4fa79a8cfa74e0d3253d07e8548c844de3a9
>> >> Author: Vitalii Tymchyshyn <vi...@tym.im>
>> >> Date:   2016-09-11T23:25:42Z
>> >>
>> >>     CAMEL-10308
>> >>     Provide a way to use async engine from ProducerTemplate
>> >>
>> >> ----
>> >>
>> >>
>> >> ---
>> >> If your project is set up for it, you can reply to this email and have
>> your
>> >> reply appear on GitHub as well. If your project does not have this
>> feature
>> >> enabled and wishes so, or if the feature is enabled but not working,
>> please
>> >> contact infrastructure at infrastructure@apache.org or file a JIRA
>> ticket
>> >> with INFRA.
>> >> ---
>> >>
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
>>



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

Re: [GitHub] camel pull request #1167: CAMEL-10308

Posted by Vitalii Tymchyshyn <vi...@tym.im>.
How about seThreadedAsyncMode(boolean), defailt true?

I will also do checkstyle till EOW.

Best regards, Vitalii Tymchyshyn

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

> Hi
>
> I do wonder if we can come up with a better name for the setter/getter
> of synchronous on ProducerTemplate.
>
> Otherwise great work. The Java 8 API makes the code easier when you
> can compose the futures with the thenApply.
>
> Just a note that we must/should ensure that existing Camel users can
> take their code as-is and compile with Java 8 and Camel 2.18
> dependencies without having to change their source code.
>
> Down the road we should also look at if some of this makes sense to
> add to the newer and simpler FluentProducerTemplate. But lets first
> get this new stuff working well on ProducerTemplate.
>
>
>
>
> On Mon, Sep 12, 2016 at 1:33 AM, Vitalii Tymchyshyn <vi...@tym.im> wrote:
> > Hi, all
> >
> > I've finished first draft of async support for ProducerTemplate. Please
> > review and comment.
> > Primary features:
> >  * All async* methods of ProducerTemplate now return CompletableFuture
> > instead of regular Future. It makes a bridge from Camel pipelines to
> plain
> > Java 8 CompletableFuture engine.
> >  * Async engine is employed. Previously async* methods were just calling
> > regular sync engine from a thread pool. Thus there was no clean way to
> > employ async engine when calling camel routes from Java code.
> >  * New parameter was added to DefaultProducerTemplate allowing to skip
> > thread pool while still using async engine. It should allow very
> efficient
> > reactive non-blocking programming with camel.
> >
> > P.S. Honestly I like using camel in reactive programming much. It
> provides
> > a lot of non-blocking endpoints and make debug much easier with route
> > statistics & in-flight repository. As soon as this features will be in
> core
> > I am going to write an blog post highlighting all value added over
> regular
> > CompletableFuture.
> >
> > Best regards, Vitalii Tymchyshyn
> >
> > Нд, 11 вер. 2016 о 19:27 tivv <gi...@git.apache.org> пише:
> >
> >> GitHub user tivv opened a pull request:
> >>
> >>     https://github.com/apache/camel/pull/1167
> >>
> >>     CAMEL-10308
> >>
> >>     Provide a way to use async engine from ProducerTemplate
> >>
> >> You can merge this pull request into a Git repository by running:
> >>
> >>     $ git pull https://github.com/tivv/camel j8-producer-template
> >>
> >> Alternatively you can review and apply these changes as the patch at:
> >>
> >>     https://github.com/apache/camel/pull/1167.patch
> >>
> >> To close this pull request, make a commit to your master/trunk branch
> >> with (at least) the following in the commit message:
> >>
> >>     This closes #1167
> >>
> >> ----
> >> commit 5daf4fa79a8cfa74e0d3253d07e8548c844de3a9
> >> Author: Vitalii Tymchyshyn <vi...@tym.im>
> >> Date:   2016-09-11T23:25:42Z
> >>
> >>     CAMEL-10308
> >>     Provide a way to use async engine from ProducerTemplate
> >>
> >> ----
> >>
> >>
> >> ---
> >> If your project is set up for it, you can reply to this email and have
> your
> >> reply appear on GitHub as well. If your project does not have this
> feature
> >> enabled and wishes so, or if the feature is enabled but not working,
> please
> >> contact infrastructure at infrastructure@apache.org or file a JIRA
> ticket
> >> with INFRA.
> >> ---
> >>
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>

Re: [GitHub] camel pull request #1167: CAMEL-10308

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

I do wonder if we can come up with a better name for the setter/getter
of synchronous on ProducerTemplate.

Otherwise great work. The Java 8 API makes the code easier when you
can compose the futures with the thenApply.

Just a note that we must/should ensure that existing Camel users can
take their code as-is and compile with Java 8 and Camel 2.18
dependencies without having to change their source code.

Down the road we should also look at if some of this makes sense to
add to the newer and simpler FluentProducerTemplate. But lets first
get this new stuff working well on ProducerTemplate.




On Mon, Sep 12, 2016 at 1:33 AM, Vitalii Tymchyshyn <vi...@tym.im> wrote:
> Hi, all
>
> I've finished first draft of async support for ProducerTemplate. Please
> review and comment.
> Primary features:
>  * All async* methods of ProducerTemplate now return CompletableFuture
> instead of regular Future. It makes a bridge from Camel pipelines to plain
> Java 8 CompletableFuture engine.
>  * Async engine is employed. Previously async* methods were just calling
> regular sync engine from a thread pool. Thus there was no clean way to
> employ async engine when calling camel routes from Java code.
>  * New parameter was added to DefaultProducerTemplate allowing to skip
> thread pool while still using async engine. It should allow very efficient
> reactive non-blocking programming with camel.
>
> P.S. Honestly I like using camel in reactive programming much. It provides
> a lot of non-blocking endpoints and make debug much easier with route
> statistics & in-flight repository. As soon as this features will be in core
> I am going to write an blog post highlighting all value added over regular
> CompletableFuture.
>
> Best regards, Vitalii Tymchyshyn
>
> Нд, 11 вер. 2016 о 19:27 tivv <gi...@git.apache.org> пише:
>
>> GitHub user tivv opened a pull request:
>>
>>     https://github.com/apache/camel/pull/1167
>>
>>     CAMEL-10308
>>
>>     Provide a way to use async engine from ProducerTemplate
>>
>> You can merge this pull request into a Git repository by running:
>>
>>     $ git pull https://github.com/tivv/camel j8-producer-template
>>
>> Alternatively you can review and apply these changes as the patch at:
>>
>>     https://github.com/apache/camel/pull/1167.patch
>>
>> To close this pull request, make a commit to your master/trunk branch
>> with (at least) the following in the commit message:
>>
>>     This closes #1167
>>
>> ----
>> commit 5daf4fa79a8cfa74e0d3253d07e8548c844de3a9
>> Author: Vitalii Tymchyshyn <vi...@tym.im>
>> Date:   2016-09-11T23:25:42Z
>>
>>     CAMEL-10308
>>     Provide a way to use async engine from ProducerTemplate
>>
>> ----
>>
>>
>> ---
>> If your project is set up for it, you can reply to this email and have your
>> reply appear on GitHub as well. If your project does not have this feature
>> enabled and wishes so, or if the feature is enabled but not working, please
>> contact infrastructure at infrastructure@apache.org or file a JIRA ticket
>> with INFRA.
>> ---
>>



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

Re: [GitHub] camel pull request #1167: CAMEL-10308

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

I've finished first draft of async support for ProducerTemplate. Please
review and comment.
Primary features:
 * All async* methods of ProducerTemplate now return CompletableFuture
instead of regular Future. It makes a bridge from Camel pipelines to plain
Java 8 CompletableFuture engine.
 * Async engine is employed. Previously async* methods were just calling
regular sync engine from a thread pool. Thus there was no clean way to
employ async engine when calling camel routes from Java code.
 * New parameter was added to DefaultProducerTemplate allowing to skip
thread pool while still using async engine. It should allow very efficient
reactive non-blocking programming with camel.

P.S. Honestly I like using camel in reactive programming much. It provides
a lot of non-blocking endpoints and make debug much easier with route
statistics & in-flight repository. As soon as this features will be in core
I am going to write an blog post highlighting all value added over regular
CompletableFuture.

Best regards, Vitalii Tymchyshyn

Нд, 11 вер. 2016 о 19:27 tivv <gi...@git.apache.org> пише:

> GitHub user tivv opened a pull request:
>
>     https://github.com/apache/camel/pull/1167
>
>     CAMEL-10308
>
>     Provide a way to use async engine from ProducerTemplate
>
> You can merge this pull request into a Git repository by running:
>
>     $ git pull https://github.com/tivv/camel j8-producer-template
>
> Alternatively you can review and apply these changes as the patch at:
>
>     https://github.com/apache/camel/pull/1167.patch
>
> To close this pull request, make a commit to your master/trunk branch
> with (at least) the following in the commit message:
>
>     This closes #1167
>
> ----
> commit 5daf4fa79a8cfa74e0d3253d07e8548c844de3a9
> Author: Vitalii Tymchyshyn <vi...@tym.im>
> Date:   2016-09-11T23:25:42Z
>
>     CAMEL-10308
>     Provide a way to use async engine from ProducerTemplate
>
> ----
>
>
> ---
> If your project is set up for it, you can reply to this email and have your
> reply appear on GitHub as well. If your project does not have this feature
> enabled and wishes so, or if the feature is enabled but not working, please
> contact infrastructure at infrastructure@apache.org or file a JIRA ticket
> with INFRA.
> ---
>

[GitHub] camel pull request #1167: CAMEL-10308

Posted by tivv <gi...@git.apache.org>.
Github user tivv closed the pull request at:

    https://github.com/apache/camel/pull/1167


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---