camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Camel > Asynchronous Routing Engine
Date Tue, 01 May 2012 15:32:00 GMT
    <base href="">
            <link rel="stylesheet" href="/confluence/s/2042/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="">Asynchronous
Routing Engine</a></h2>
    <h4>Page <b>edited</b> by             <a href="">Claus
                         <h4>Changes (1)</h4>
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >All the [Enterprise Integration Patterns]
is supported as well a selected number of [Components]: <br>- [AHC] *Camel 2.8:* (only
producer) <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">-
[Avro] *Camel 2.10:* (only producer) <br></td></tr>
            <tr><td class="diff-unchanged" >- [CXF] *Camel 2.5:* (both consumer
and producer) <br>- [CXFRS] *Camel 2.5:* (only consumer) <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="AsynchronousRoutingEngine-AsynchronousRoutingEngine"></a>Asynchronous
Routing Engine</h2>
<p><b>Available as of Camel 2.4</b></p>

<p>As of Camel 2.4 the asynchronous routing engine is back and kicking.<br/>
All the <a href="/confluence/display/CAMEL/Enterprise+Integration+Patterns" title="Enterprise
Integration Patterns">Enterprise Integration Patterns</a> is supported as well a
selected number of <a href="/confluence/display/CAMEL/Components" title="Components">Components</a>:</p>
<ul class="alternate" type="square">
	<li><a href="/confluence/display/CAMEL/AHC" title="AHC">AHC</a> <b>Camel
2.8:</b> (only producer)</li>
	<li><a href="/confluence/pages/createpage.action?spaceKey=CAMEL&amp;title=Avro&amp;linkCreation=true&amp;fromPageId=23332229"
class="createlink">Avro</a> <b>Camel 2.10:</b> (only producer)</li>
	<li><a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a> <b>Camel
2.5:</b> (both consumer and producer)</li>
	<li><a href="/confluence/display/CAMEL/CXFRS" title="CXFRS">CXFRS</a> <b>Camel
2.5:</b> (only consumer)</li>
	<li><a href="/confluence/display/CAMEL/JBI" title="JBI">JBI</a> (both consumer
and producer)</li>
	<li><a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a> (both
consumer and producer)</li>
	<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> <b>Camel
2.5:</b> (only producer for <a href="/confluence/display/CAMEL/Request+Reply" title="Request
Reply">Request Reply</a> messaging over JMS). <b>Camel 2.9:</b> (consumer,
if option <tt>asyncConsumer=true</tt> is used).</li>
	<li><a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> <b>Camel
2.9:</b> (also consumer)</li>
	<li><a href="/confluence/display/CAMEL/NMR" title="NMR">NMR</a> (both consumer
and producer)</li>
	<li><a href="/confluence/display/CAMEL/Netty" title="Netty">Netty</a> only
producer (<b>Camel 2.10:</b> also consumer)</li>
	<li><a href="/confluence/display/CAMEL/Restlet" title="Restlet">Restlet</a>
<b>Camel 2.8:</b> (only producer)</li>
	<li><a href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a> (both
consumer and producer)</li>

<p>When we say a component is supported, that means, the component is leveraging the
asynchronous model. For example <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>
uses continuations and the async http client to be fully asynchronous and non blocked. That
means no threads will ever be blocked while waiting for a reply.</p>

<p>In the future additional <a href="/confluence/display/CAMEL/Components" title="Components">Components</a>
will be supported as well where it's applicable.</p>

<h3><a name="AsynchronousRoutingEngine-Forcingtousesynchronousprocessing"></a>Forcing
to use synchronous processing</h3>

<p>You can configure the endpoints with the option <tt>synchronous=true</tt>
to force using synchronous processing. For example when sending a web service request using
<a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a>, the caller will wait
for the reply, if <tt>synchronous=true</tt> was configured. Currently this option
is supported by the  all the producers. If you don't want to let the <a href="/confluence/display/CAMEL/CXF"
title="CXF">CXF</a> consumer leverage the CXF continuation API to use the asynchronous
processing, you can also use this option <tt>synchronous=true</tt> to disable
it. The <a href="/confluence/display/CAMEL/JBI" title="JBI">JBI</a> and <a
href="/confluence/display/CAMEL/NMR" title="NMR">NMR</a> component is always asynchronous
and doesn't support this option.</p>

<h2><a name="AsynchronousRoutingEngine-Backgroundinformation"></a>Background

<p>See <a href="/confluence/display/CAMEL/Asynchronous+Processing" title="Asynchronous
Processing">Asynchronous Processing</a> for additional information and the concepts
behind the asynchronous model.</p>

        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href=""
class="grey">Change Notification Preferences</a>
        <a href="">View
        <a href="">View
        <a href=";showCommentArea=true#addcomment">Add

View raw message