You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2014/12/21 11:18:09 UTC

svn commit: r933533 - in /websites/production/camel/content: asyncprocessorawaitmanager.html cache/main.pageCache user-guide.html

Author: buildbot
Date: Sun Dec 21 10:18:08 2014
New Revision: 933533

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/asyncprocessorawaitmanager.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/user-guide.html

Modified: websites/production/camel/content/asyncprocessorawaitmanager.html
==============================================================================
--- websites/production/camel/content/asyncprocessorawaitmanager.html (original)
+++ websites/production/camel/content/asyncprocessorawaitmanager.html Sun Dec 21 10:18:08 2014
@@ -84,7 +84,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="AsyncProcessorAwaitManager-AsyncProcessorAwaitManager">AsyncProcessorAwaitManager</h2><p><strong>Available as of Camel 2.15</strong></p><p>The&#160;AsyncProcessorAwaitManager is used by the routing engine to mange blocked threads waiting for a signal to trigger before the thread should wake up and continue routing the exchange. This is only in use when messages are being routed and there is a handover from synchronous to asynchronous, and the callee thread needs to block while the asynchronous routing continues, and when that part is done, it signals its done by calling the AsyncCallback. The&#160;AsyncProcessorAwaitManager is the manager that keeps track of the blocked threads, and the exchange they are correlated with. The manager also offers insight at runtime which allows to see the state from JMX or Java API.&#160;</p><p>The manager has the following options</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th co
 lspan="1" rowspan="1" class="confluenceTh">Option</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">interruptThreadsWhileStopping</td><td colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" rowspan="1" class="confluenceTd">Sets whether to interrupt any blocking threads during stopping. When true then Camel will attempt to shutdown any pending blocked threads during shutdown of Camel itself.</td></tr></tbody></table></div><p>&#160;</p><p>When Camel shutdown the manager also reports if there is any pending blocked threads left, and attempt to shutdown these blocked threads so they are not left hanging in the JVM. It is also possible to force a blocked thread to wake up and terminate, at runtime using the Java API or JMX, using the interrupt method.</p><p>The following demonstrates what is being logged, as an example, what happens w
 hen Camel is being shutdown, and there is some blocked threads that hasn't been released yet.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="AsyncProcessorAwaitManager-AsyncProcessorAwaitManager">AsyncProcessorAwaitManager</h2><p><strong>Available as of Camel 2.15</strong></p><p>The&#160;AsyncProcessorAwaitManager is used by the routing engine to mange blocked threads waiting for a signal to trigger before the thread should wake up and continue routing the exchange. This is only in use when messages are being routed and there is a handover from synchronous to asynchronous, and the callee thread needs to block while the asynchronous routing continues, and when that part is done, it signals its done by calling the AsyncCallback. The&#160;AsyncProcessorAwaitManager is the manager that keeps track of the blocked threads, and the exchange they are correlated with. The manager also offers insight at runtime which allows to see the state from JMX or Java API.&#160;</p><p>The manager has the following options</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th co
 lspan="1" rowspan="1" class="confluenceTh">Option</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">interruptThreadsWhileStopping</td><td colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" rowspan="1" class="confluenceTd">Sets whether to interrupt any blocking threads during stopping. When true then Camel will attempt to shutdown any pending blocked threads during shutdown of Camel itself.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">statisticsEnabled</td><td colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd">Whether utilization statistics is enabled.</td></tr></tbody></table></div><p>&#160;</p><p>When Camel shutdown the manager also reports if there is any pending blocked threads left, and attempt to shutdown these blocked threads so they are not left hanging
  in the JVM. It is also possible to force a blocked thread to wake up and terminate, at runtime using the Java API or JMX, using the interrupt method.</p><p>The following demonstrates what is being logged, as an example, what happens when Camel is being shutdown, and there is some blocked threads that hasn't been released yet.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[2014-12-21 08:38:03,321 [pool-2-thread-1] WARN  aultAsyncProcessorAwaitManager - The following threads are blocked and will be interrupted so the threads are released:
 Blocked Thread
 ---------------------------------------------------------------------------------------------------------------------------------------
@@ -118,7 +118,9 @@ Exchange[
 	BodyType            String
 	Body                Bye Camel
 ]]]></script>
-</div></div><p>&#160;</p><p>From the logs we can see there is one blocked thread with the id=1 and name=main. The thread was blocked in the route with name myRoute, and at the node named myAsyc, and that the thread has been blocked for almost 20 seconds. Further below the associated exchange details is logged, first is the message history which outputs the current up to date routing plan of the message. We can see that the message is currently at process1 (which is an inlined processor from the unit test). Pay attention now, from the message history we can see that two notes before we have myAsync node which was where the handover took place, and the callee threads is blocked at. So we can see from the message history that the message was further processed by to2, and that it got stuck at process1, for about 20 seconds. What happens is that the blocked thread will be interrupted so it can continue to route and terminate the thread. An exception is set on the exchange with a&#160;Rej
 ectedExecutionException exception causing the exchange to fail as well.</p><p>&#160;</p><h4 id="AsyncProcessorAwaitManager-JavaAPI">Java API</h4><p>The manager is defined using the interface&#160;<code>org.apache.camel.spi.AsyncProcessorAwaitManager</code></p><p>&#160;</p><h4 id="AsyncProcessorAwaitManager-JMXmanaged"><span style="font-size: 16.0px;line-height: 1.5625;">JMX managed</span></h4><p>The AsyncProcessorAwaitManager&#160;is JMX aware as well so you can manage it from a JMX console.</p><h3 id="AsyncProcessorAwaitManager-SeeAlso"><span style="line-height: 1.5625;">See Also</span></h3><ul class="alternate"><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a></li><li><a shape="rect" href="asynchronous-routing-engine.html">Asynchronous routing engine</a></li><li><a shape="rect" href="user-guide.html">User Guide</a></li></ul></div>
+</div></div><p>&#160;</p><p>From the logs we can see there is one blocked thread with the id=1 and name=main. The thread was blocked in the route with name myRoute, and at the node named myAsyc, and that the thread has been blocked for almost 20 seconds. Further below the associated exchange details is logged, first is the message history which outputs the current up to date routing plan of the message. We can see that the message is currently at process1 (which is an inlined processor from the unit test). Pay attention now, from the message history we can see that two notes before we have myAsync node which was where the handover took place, and the callee threads is blocked at. So we can see from the message history that the message was further processed by to2, and that it got stuck at process1, for about 20 seconds. What happens is that the blocked thread will be interrupted so it can continue to route and terminate the thread. An exception is set on the exchange with a&#160;Rej
 ectedExecutionException exception causing the exchange to fail as well.</p><p>&#160;</p><h4 id="AsyncProcessorAwaitManager-JavaAPI">Java API</h4><p>The manager is defined using the interface&#160;<code>org.apache.camel.spi.AsyncProcessorAwaitManager</code></p><p>&#160;</p><h4 id="AsyncProcessorAwaitManager-Statistics">Statistics</h4><p>The manager can capture utilization statistics, which can be enabled using Java API or JMX.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[context.getAsyncProcessorAwaitManager().getStatistics().setStatisticsEnabled(true);]]></script>
+</div></div><p>&#160;</p><h4 id="AsyncProcessorAwaitManager-JMXmanaged"><span style="font-size: 16.0px;line-height: 1.5625;">JMX managed</span></h4><p>The AsyncProcessorAwaitManager&#160;is JMX aware as well so you can manage it from a JMX console.</p><h3 id="AsyncProcessorAwaitManager-SeeAlso"><span style="line-height: 1.5625;">See Also</span></h3><ul class="alternate"><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a></li><li><a shape="rect" href="asynchronous-routing-engine.html">Asynchronous routing engine</a></li><li><a shape="rect" href="user-guide.html">User Guide</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">

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

Modified: websites/production/camel/content/user-guide.html
==============================================================================
--- websites/production/camel/content/user-guide.html (original)
+++ websites/production/camel/content/user-guide.html Sun Dec 21 10:18:08 2014
@@ -76,13 +76,13 @@
         <tr>
         <td valign="top" width="100%">
 <div class="wiki-content maincontent"><h2 id="UserGuide-UserGuide">User Guide</h2><p>If you want to get more familiar with what Apache Camel has to offer, please try the following resources:</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1417090659291 {padding: 0px;}
-div.rbtoc1417090659291 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1417090659291 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1419157036918 {padding: 0px;}
+div.rbtoc1419157036918 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1419157036918 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1417090659291">
+/*]]>*/</style></p><div class="toc-macro rbtoc1419157036918">
 <ul class="toc-indentation"><li><a shape="rect" href="#UserGuide-Wikipages">Wiki pages</a></li><li><a shape="rect" href="#UserGuide-PDF">PDF</a></li><li><a shape="rect" href="#UserGuide-OtherResources.">Other Resources.</a></li></ul>
-</div><h3 id="UserGuide-Wikipages">Wiki pages</h3><ul><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="book-getting-started.html">Longer Getting Started Guide</a></li><li><a shape="rect" href="camel-jar-dependencies.html">Camel jar dependencies</a></li><li><a shape="rect" href="spring.html">Working with Camel and Spring</a></li><li><a shape="rect" href="guice.html">Working with Camel and Guice</a></li><li><a shape="rect" href="karaf.html">Working with Camel and Karaf</a></li><li><a shape="rect" href="how-do-i-configure-endpoints.html">How do I configure endpoints</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="configuring-route-startup-ordering-and-autostartup.html">Configuring route startup ordering and autostartup</a></li><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a></li><l
 i><a shape="rect" href="error-handling-in-camel.html">Error handling in Camel</a></li><li><a shape="rect" href="using-propertyplaceholder.html">How to use Camel property placeholders</a></li><li><a shape="rect" href="tutorials.html">Tutorials</a></li><li><a shape="rect" href="examples.html">Examples</a></li><li><a shape="rect" href="testing.html">Testing</a></li><li><a shape="rect" href="xml-configuration.html">Xml Configuration</a></li><li><a shape="rect" href="using-camelproxy.html">Using CamelProxy</a> for how to use proxies for clients to easily invoke camel routes without them knowing</li><li><a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a> for running Camel from a Maven goal</li><li><a shape="rect" href="guice-maven-plugin.html">Guice Maven Plugin</a> for working with <a shape="rect" href="guice.html">Guice</a></li><li><a shape="rect" href="camel-maven-archetypes.html">Camel Maven Archetypes</a></li><li><a shape="rect" href="creating-a-new-spring-based-cam
 el-route.html">Creating a new Spring based Camel Route</a></li><li><a shape="rect" href="camel-jmx.html">Camel JMX</a></li><li><a shape="rect" href="how-to-run-camel-in-a-osgi-container.html">How to run Camel in a osgi container</a></li><li><a shape="rect" href="using-osgi-blueprint-with-camel.html">Using OSGi blueprint with Camel</a></li><li><a shape="rect" href="karaf.html">Karaf</a> for working with <a shape="rect" class="external-link" href="http://karaf.apache.org/">Apache Karaf</a></li><li><a shape="rect" href="camel-and-scr.html">Working with Camel and SCR</a></li></ul><h3 id="UserGuide-PDF">PDF</h3><p>You can try the <a shape="rect" href="manual.html">Manual</a> if you want to get a PDF of this documentation.</p><h3 id="UserGuide-OtherResources.">Other Resources.</h3><p>The <a shape="rect" class="external-link" href="http://architects.dzone.com/articles/apache-camel-integration" rel="nofollow">Apache Camel: Integration Nirvana</a> article by Jonathan Anstey, a great place to
  start your journey.</p><p>The <a shape="rect" href="books.html">Camel in Action</a> book.</p><p>The Camel Components Poster - <a shape="rect" class="external-link" href="http://gliesian.com/camel/ApacheCamelComponents.pdf" rel="nofollow">Free PDF</a>, <a shape="rect" class="external-link" href="http://fineartamerica.com/featured/apache-camel-2122-components-poster-robert-liguori.html" rel="nofollow">36"x24" Print</a></p><p>Try these online <a shape="rect" href="articles.html">Articles</a> and <a shape="rect" href="tutorials.html">Tutorials</a>.</p></div>
+</div><h3 id="UserGuide-Wikipages">Wiki pages</h3><ul><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="book-getting-started.html">Longer Getting Started Guide</a></li><li><a shape="rect" href="camel-jar-dependencies.html">Camel jar dependencies</a></li><li><a shape="rect" href="spring.html">Working with Camel and Spring</a></li><li><a shape="rect" href="guice.html">Working with Camel and Guice</a></li><li><a shape="rect" href="karaf.html">Working with Camel and Karaf</a></li><li><a shape="rect" href="how-do-i-configure-endpoints.html">How do I configure endpoints</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="configuring-route-startup-ordering-and-autostartup.html">Configuring route startup ordering and autostartup</a></li><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a></li><l
 i><a shape="rect" href="asyncprocessorawaitmanager.html">AsyncProcessorAwaitManager</a> for insight into the routing engine when it has been forced to block threads while exchanges are being processed asynchronous.</li><li><a shape="rect" href="error-handling-in-camel.html">Error handling in Camel</a></li><li><a shape="rect" href="using-propertyplaceholder.html">How to use Camel property placeholders</a></li><li><a shape="rect" href="tutorials.html">Tutorials</a></li><li><a shape="rect" href="examples.html">Examples</a></li><li><a shape="rect" href="testing.html">Testing</a></li><li><a shape="rect" href="xml-configuration.html">Xml Configuration</a></li><li><a shape="rect" href="using-camelproxy.html">Using CamelProxy</a> for how to use proxies for clients to easily invoke camel routes without them knowing</li><li><a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a> for running Camel from a Maven goal</li><li><a shape="rect" href="guice-maven-plugin.html">Guice Mave
 n Plugin</a> for working with <a shape="rect" href="guice.html">Guice</a></li><li><a shape="rect" href="camel-maven-archetypes.html">Camel Maven Archetypes</a></li><li><a shape="rect" href="creating-a-new-spring-based-camel-route.html">Creating a new Spring based Camel Route</a></li><li><a shape="rect" href="camel-jmx.html">Camel JMX</a></li><li><a shape="rect" href="how-to-run-camel-in-a-osgi-container.html">How to run Camel in a osgi container</a></li><li><a shape="rect" href="using-osgi-blueprint-with-camel.html">Using OSGi blueprint with Camel</a></li><li><a shape="rect" href="karaf.html">Karaf</a> for working with <a shape="rect" class="external-link" href="http://karaf.apache.org/">Apache Karaf</a></li><li><a shape="rect" href="camel-and-scr.html">Working with Camel and SCR</a></li></ul><h3 id="UserGuide-PDF">PDF</h3><p>You can try the <a shape="rect" href="manual.html">Manual</a> if you want to get a PDF of this documentation.</p><h3 id="UserGuide-OtherResources.">Other Resou
 rces.</h3><p>The <a shape="rect" class="external-link" href="http://architects.dzone.com/articles/apache-camel-integration" rel="nofollow">Apache Camel: Integration Nirvana</a> article by Jonathan Anstey, a great place to start your journey.</p><p>The <a shape="rect" href="books.html">Camel in Action</a> book.</p><p>The Camel Components Poster - <a shape="rect" class="external-link" href="http://gliesian.com/camel/ApacheCamelComponents.pdf" rel="nofollow">Free PDF</a>, <a shape="rect" class="external-link" href="http://fineartamerica.com/featured/apache-camel-2122-components-poster-robert-liguori.html" rel="nofollow">36"x24" Print</a></p><p>Try these online <a shape="rect" href="articles.html">Articles</a> and <a shape="rect" href="tutorials.html">Tutorials</a>.</p></div>
         </td>
         <td valign="top">
           <div class="navigation">