Hi Christian,
that's really cool, the Reactor projects brings about a nice API and a
lot of functionality out of the box. I think the main thing with Camel
being fully reactive is to find out how to do that with all the EIPs
supported.

I think you might find it interesting that Nicola created a way to
integrate reactive systems with Camel with camel-reactive-streams[1],
you can find out more in the talk he did recently[2].

zoran

[1] 
https://github.com/apache/camel/blob/master/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
[2] 
https://www.nicolaferraro.me/2017/06/20/jbcnconf-barcelona-integrating-applications-the-reactive-way/

On Tue, Jun 27, 2017 at 9:08 AM, Christian Schneider
<ch...@die-schneider.net> wrote:
> I recently looked into ways to combine messaging and streaming on OSGi. So
> the following is a bit OSGi specific regarding finding components but I
> think this can also be done for non OSGi usage.
>
> Interestingly the best reactive streams solution I found for my case was
> Reactor (by Pivotal) which is the core of spring 5. It works out of the box
> on OSGi and only has a single dependency.
> The next thing was how to combine this with messaging in a loosely coupled
> way. I really like Apache Camel but I think it is not up to date any more
> and also acquired a lot of weight over time (especially in camel-core). So I
> was looking into providing a light weight component API and combine it with
> Reactor.
>
> The result is this project:
>
> https://github.com/cschneider/streaming-osgi/tree/master/reactortest
>
> This is the Component API:
> https://github.com/cschneider/streaming-osgi/blob/master/reactortest/src/main/java/component/api/MComponent.java
> Actually I am unsure if the converter must be part of the API but this is
> the current state.
>
> I created some POC components for Mqtt, EventAdmin and Mail.
>
> and finally two examples:
> Listen on eventadmin topic, log and forward to other topic:
> https://github.com/cschneider/streaming-osgi/blob/master/reactortest/src/main/java/reactortest/ExampleEventAdmin.java
>
> Listen to mqtt, compute average over sliding window and forward to other
> topic:
> https://github.com/cschneider/streaming-osgi/blob/master/reactortest/src/main/java/reactortest/MqttExampleComponent.java
>
> I think there is a lot of potential in Reactor and also in messaging
> components that do not couple your code to the technology.
> I would be happy about any feedback on the prototype. Beware the code is not
> yet split into bundles but I hope the intention is still visible.
>
> Best
>
> Christian
>
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> http://www.talend.com
>



-- 
Zoran Regvart

Reply via email to