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 <g...@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 <v...@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 infrastruct...@apache.org or file a JIRA ticket
> with INFRA.
> ---
>

Reply via email to