[
https://issues.apache.org/jira/browse/CAMEL-7833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14396185#comment-14396185
]
ASF GitHub Bot commented on CAMEL-7833:
---------------------------------------
GitHub user yuruki opened a pull request:
https://github.com/apache/camel/pull/467
CAMEL-7833 InOnly and InOut routes as Observable<Exchange> sequences
Basic InOnly and InOut routes seem to just work as Observable<Exchange>
sequences.
To be honest, I don't quite understand why the response is correctly
propagated to consumer automatically without an explicit call to
UnitOfWork.done() and friends...
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/yuruki/camel camel-rx-routes
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/camel/pull/467.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 #467
----
commit 88417414d3679178adbe9abd8b3b4bde99c37119
Author: Jyrki Ruuskanen <[email protected]>
Date: 2015-04-05T09:59:12Z
InOnly and InOut routes as Observable<Exchange> sequences
----
> create an extension of the RX Observable<T> to add more of the Camel DSL in
> there (e.g. to() or to go back to the general camel DSL)
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-7833
> URL: https://issues.apache.org/jira/browse/CAMEL-7833
> Project: Camel
> Issue Type: New Feature
> Reporter: james strachan
> Assignee: Willem Jiang
> Fix For: 2.16.0
>
>
> with Camel RX and java 8 we can do some nice lambdas and typesafe filtering
> and transformation:
> {code}
> ReactiveCamel rx = new ReactiveCamel(camelContext);
> Observable<Order> observable = rx.toObservable("seda:orders", Order.class);
>
> // now lets filter and map using Java 8
> Observable<String> largeOrderIds = observable.
> filter(order -> order.getAmount() > 100.0).
> map(order -> order.getId());
>
> rx.sendTo(observable, "activemq:MyQueue");
> {code}
> however the DSL isn't quite as nice as Camel's due to the lack of the camel
> verbs like "to()". It'd be nice to provide an extended Observable<T>
> interface which adds more of Camel's DSL in there too; so you can still use
> things the RX way; but can also reuse the camel DSL too (in a typesafe way).
> e.g. something like this
> {code}
> // Observable comes from RX; it'd be nice to have a camel extended version so
> we can add camel DSL stuff in there like to() etc....
> CamelStream<Order> orders = rx.stream("seda:orders", Order.class);
>
> // now lets filter and map using Java 8
> orders.
> filter(order -> order.getAmount() > 100.0).
> map(order -> order.getId()).
> to("activemq:MyQueue");
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)