camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r852899 - in /websites/production/camel/content: cache/main.pageCache rx.html
Date Mon, 04 Mar 2013 09:18:34 GMT
Author: buildbot
Date: Mon Mar  4 09:18:34 2013
New Revision: 852899

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/rx.html

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/rx.html
==============================================================================
--- websites/production/camel/content/rx.html (original)
+++ websites/production/camel/content/rx.html Mon Mar  4 09:18:34 2013
@@ -77,13 +77,27 @@
         <td valign="top" width="100%">
 <div class="wiki-content maincontent"><h1><a shape="rect" name="RX-CamelRX"></a>Camel
RX</h1>
 
-<p>The camel-rx library provides Camel support for the <a shape="rect" class="external-link"
href="https://rx.codeplex.com/" rel="nofollow">Reactive Extensions</a>&#160;(RX)
using the <a shape="rect" class="external-link" href="https://github.com/Netflix/RxJava/wiki"
rel="nofollow">RxJava</a> library.</p>
+<p>The camel-rx library provides Camel support for the <a shape="rect" class="external-link"
href="https://rx.codeplex.com/" rel="nofollow">Reactive Extensions</a>&#160;(RX)
using the <a shape="rect" class="external-link" href="https://github.com/Netflix/RxJava/wiki"
rel="nofollow">RxJava</a> library so that:</p>
 
-<p>You can think of RX as providing an API similar to Java 8 / Groovy / Scala like
API collections (methods like filter, forEach, map, flatMap etc) - but which operates on a
stream of events rather than a collection. So you could think of RX as like working with asynchronous
push based collections (rather than the traditional synchronous pull based collections).</p>
+<ul><li>Camel users can use the <a shape="rect" class="external-link" href="http://netflix.github.com/RxJava/javadoc/"
rel="nofollow">RxJava API</a> for processing messages on endpoints using a typesafe
composable API</li><li><a shape="rect" class="external-link" href="https://github.com/Netflix/RxJava/wiki"
rel="nofollow">RxJava</a> users get to use all of the <a shape="rect" href="components.html"
title="Components">Camel transports and protocols</a> from within the <a shape="rect"
class="external-link" href="http://netflix.github.com/RxJava/javadoc/" rel="nofollow">RxJava
API</a></li></ul>
 
-<p>In RX, if you have an <a shape="rect" class="external-link" href="http://netflix.github.com/RxJava/javadoc/rx/Observable.html"
rel="nofollow">Observable&lt;T&gt;</a> which behaves quite like a Collection&lt;T&gt;
in Java 8 so you can filter/map/concat and so forth. The Observable&lt;T&gt; then
acts as a typesafe composable API for working with asynchronous events.</p>
 
-<p>You can then create an Observable&lt;Message&gt; from any endpoint using
the ReactiveCamel helper class.</p>
+<h2><a shape="rect" name="RX-BackgroundonRX"></a>Background on RX</h2>
+
+<p>For a more in depth background on RX check out <a shape="rect" class="external-link"
href="https://github.com/Netflix/RxJava/wiki/Observable" rel="nofollow">the RxJava wiki
on Observable and the Reactive pattern</a> or the <a shape="rect" class="external-link"
href="https://rx.codeplex.com/" rel="nofollow">Microsoft RX documentation</a>.</p>
+
+<p>You can think of RX as providing an API similar to Java 8 / Groovy / Scala collections
(methods like filter, map, zip etc) - but which operates on an asynchronous stream of events
rather than a collection. So you could think of RX as like working with asynchronous push
based collections (rather than the traditional synchronous pull based collections).</p>
+
+<p>In RX you work with an <a shape="rect" class="external-link" href="http://netflix.github.com/RxJava/javadoc/rx/Observable.html"
rel="nofollow">Observable&lt;T&gt;</a> which behaves quite like a Collection&lt;T&gt;
in Java 8 so you can filter/map/concat and so forth. The Observable&lt;T&gt; then
acts as a typesafe composable API for working with asynchronous events in a collection-like
way.</p>
+
+<p>Once you have an <a shape="rect" class="external-link" href="http://netflix.github.com/RxJava/javadoc/rx/Observable.html"
rel="nofollow">Observable&lt;T&gt;</a> you can then </p>
+
+<ul><li><a shape="rect" class="external-link" href="https://github.com/Netflix/RxJava/wiki/Filtering-Operators"
rel="nofollow">filter events</a></li><li><a shape="rect" class="external-link"
href="https://github.com/Netflix/RxJava/wiki/Transformative-Operators" rel="nofollow">transform
events</a></li><li><a shape="rect" class="external-link" href="https://github.com/Netflix/RxJava/wiki/Combinatorial-Operators"
rel="nofollow">combine event streams</a></li><li><a shape="rect" class="external-link"
href="https://github.com/Netflix/RxJava/wiki/Utility-Operators" rel="nofollow">other utility
methods</a></li></ul>
+
+
+<h2><a shape="rect" name="RX-ObservingeventsonCamelendpoints"></a>Observing
events on Camel endpoints </h2>
+
+<p>You can create an Observable&lt;Message&gt; from any endpoint using the
ReactiveCamel helper class and the <b>toObservable()</b> method.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
 <pre class="code-java">
@@ -116,7 +130,24 @@ Observable&lt;Order&gt; observable = rx.
     }
 });
 </pre>
-</div></div></div>
+</div></div>
+
+<h2><a shape="rect" name="RX-SendingObservable%3CT%3EeventstoCamelendpoints"></a>Sending
Observable&lt;T&gt; events to Camel endpoints</h2>
+
+<p>If you have an <a shape="rect" class="external-link" href="http://netflix.github.com/RxJava/javadoc/rx/Observable.html"
rel="nofollow">Observable&lt;T&gt;</a> from some other library; or have created
one from a <a shape="rect" class="external-link" href="http://netflix.github.com/RxJava/javadoc/rx/Observable.html#toObservable(java.util.concurrent.Future)"
rel="nofollow">Future&lt;T&gt; using RxJava</a> and you wish to send the
events on the observable to a Camel endpoint you can use the <b>sendTo()</b> method
on ReactiveCamel:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+<span class="code-keyword">import</span> org.apache.camel.rx.*;
+
+<span class="code-comment">// take some observable from somewhere
+</span>Observable&lt;T&gt; observable = ...;
+ReactiveCamel rx = <span class="code-keyword">new</span> ReactiveCamel(camelContext);
+
+<span class="code-comment">// lets send the events to a message queue
+</span>rx.sendTo(observable, <span class="code-quote">"activemq:MyQueue"</span>);
+</pre>
+</div></div> </div>
         </td>
         <td valign="top">
           <div class="navigation">



Mime
View raw message