camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r863863 - in /websites/production/camel/content: cache/main.pageCache camel-2120-release.html message-history.html
Date Fri, 31 May 2013 13:20:30 GMT
Author: buildbot
Date: Fri May 31 13:20:30 2013
New Revision: 863863

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2120-release.html
    websites/production/camel/content/message-history.html

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

Modified: websites/production/camel/content/camel-2120-release.html
==============================================================================
--- websites/production/camel/content/camel-2120-release.html (original)
+++ websites/production/camel/content/camel-2120-release.html Fri May 31 13:20:30 2013
@@ -84,7 +84,7 @@
 
 <p>Welcome to the 2.12.0 release which approx XXX issues resolved (new features, improvements
and bug fixes such as...)</p>
 
-<ul><li><a shape="rect" href="endpoint-annotations.html" title="Endpoint Annotations">Endpoint
Annotations</a> along with automatically created HTML documentation for the endpoint
parameters; this makes it easier for component developers to add a few refactoring-safe annotations
to their Endpoint or Consumer implementations and, (along with javadoc comments on the field
or setter method), get nice user documentation on how to use the endpoint for free.</li><li><a
shape="rect" href="componentconfiguration.html" title="ComponentConfiguration">ComponentConfiguration</a>
API provides a handy API for tools developers to introspect on a Component to find all the
possible parameters, their types and any extra annotations (like Bean Validation Annotations)
to be able to create/edit endpoints or URI strings so that tools can generate nicer UIs for
configuring endpoints than just letting folks edit Strings.</li><li><a shape="rect"
href="endpointcompleter.html" title="EndpointCompleter
 ">EndpointCompleter</a> API provides a hook so that command line tools (like <a
shape="rect" class="external-link" href="http://karaf.apache.org/manual/latest-2.3.x/users-guide/using-console.html">Karaf's
shell</a>), IDEs and web tools can get (bash tab like) auto-completion on endpoint paths
(such as file or directory names, message queue names, database table names) when creating
or using new endpoints</li><li>Reduced stack-frames in use during routing, that
also makes Camel's stack traces being logged much less verbose. This also allows people to
easier debug the internals of Camel as less <tt>AsyncCallback</tt> callbacks are
in use during routing.</li><li><a shape="rect" href="spring-web-services.html"
title="Spring Web Services">Spring Web Services</a> now supports setting/receiving
SOAP headers more easily using a header on the Camel <a shape="rect" href="message.html"
title="Message">Message</a>.</li><li>Evaluating <a shape="rect" href="groovy.html"
title="Groovy">Gro
 ovy</a> expressions is faster as we cache the compiled scripts.</li><li>Added
<tt>base64</tt> option to <a shape="rect" href="shiro-security.html" title="Shiro
Security">Shiro Security</a> to allow transferring security token over <a shape="rect"
href="jms.html" title="JMS">JMS</a> and other transports as base64 encoded representation.</li><li>Made
it easier to use <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro
Security</a> as the credentials can be provided in headers, when sending a message to
a secured route.</li><li><a shape="rect" href="bindy.html" title="Bindy">Bindy</a>
now supports enums.</li><li>Added new <a shape="rect" href="backlogdebugger.html"
title="BacklogDebugger">BacklogDebugger</a> to perform live debugging of messages
during routing. The <a shape="rect" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a>
has JMX API allows tooling to control the debugger.</li><li>While using the <a
shape="rect" class="external-
 link" href="http://xircles.codehaus.org/projects/jackson" rel="nofollow">Jackson library</a>
through the <a shape="rect" href="json.html" title="JSON">JSON</a> Dataformat
there's now a <tt>jsonView</tt> attribute you could make use of directly inside
the <a shape="rect" href="dsl.html" title="DSL">DSL</a> itself.</li><li><a
shape="rect" href="smpp.html" title="SMPP">SMPP</a> now supports optional parameters
in all commands where they are possible.</li></ul>
+<ul><li><a shape="rect" href="endpoint-annotations.html" title="Endpoint Annotations">Endpoint
Annotations</a> along with automatically created HTML documentation for the endpoint
parameters; this makes it easier for component developers to add a few refactoring-safe annotations
to their Endpoint or Consumer implementations and, (along with javadoc comments on the field
or setter method), get nice user documentation on how to use the endpoint for free.</li><li><a
shape="rect" href="componentconfiguration.html" title="ComponentConfiguration">ComponentConfiguration</a>
API provides a handy API for tools developers to introspect on a Component to find all the
possible parameters, their types and any extra annotations (like Bean Validation Annotations)
to be able to create/edit endpoints or URI strings so that tools can generate nicer UIs for
configuring endpoints than just letting folks edit Strings.</li><li><a shape="rect"
href="endpointcompleter.html" title="EndpointCompleter
 ">EndpointCompleter</a> API provides a hook so that command line tools (like <a
shape="rect" class="external-link" href="http://karaf.apache.org/manual/latest-2.3.x/users-guide/using-console.html">Karaf's
shell</a>), IDEs and web tools can get (bash tab like) auto-completion on endpoint paths
(such as file or directory names, message queue names, database table names) when creating
or using new endpoints</li><li>Reduced stack-frames in use during routing, that
also makes Camel's stack traces being logged much less verbose. This also allows people to
easier debug the internals of Camel as less <tt>AsyncCallback</tt> callbacks are
in use during routing.</li><li>Easy to use <a shape="rect" href="message-history.html"
title="Message History">Message History</a> out of the box. And included message
history as "route stack-trace" when exceptions logged by <a shape="rect" href="error-handler.html"
title="Error Handler">Error Handler</a> to make it easier for end users to spot where
  the exception occurred.</li><li><a shape="rect" href="spring-web-services.html"
title="Spring Web Services">Spring Web Services</a> now supports setting/receiving
SOAP headers more easily using a header on the Camel <a shape="rect" href="message.html"
title="Message">Message</a>.</li><li>Evaluating <a shape="rect" href="groovy.html"
title="Groovy">Groovy</a> expressions is faster as we cache the compiled scripts.</li><li>Added
<tt>base64</tt> option to <a shape="rect" href="shiro-security.html" title="Shiro
Security">Shiro Security</a> to allow transferring security token over <a shape="rect"
href="jms.html" title="JMS">JMS</a> and other transports as base64 encoded representation.</li><li>Made
it easier to use <a shape="rect" href="shiro-security.html" title="Shiro Security">Shiro
Security</a> as the credentials can be provided in headers, when sending a message to
a secured route.</li><li><a shape="rect" href="bindy.html" title="Bindy">Bindy</a>
now supports enums.</li><l
 i>Added new <a shape="rect" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a>
to perform live debugging of messages during routing. The <a shape="rect" href="backlogdebugger.html"
title="BacklogDebugger">BacklogDebugger</a> has JMX API allows tooling to control
the debugger.</li><li>While using the <a shape="rect" class="external-link"
href="http://xircles.codehaus.org/projects/jackson" rel="nofollow">Jackson library</a>
through the <a shape="rect" href="json.html" title="JSON">JSON</a> Dataformat
there's now a <tt>jsonView</tt> attribute you could make use of directly inside
the <a shape="rect" href="dsl.html" title="DSL">DSL</a> itself.</li><li><a
shape="rect" href="smpp.html" title="SMPP">SMPP</a> now supports optional parameters
in all commands where they are possible.</li></ul>
 
 
 <h3><a shape="rect" name="Camel2.12.0Release-FixedIssues"></a>Fixed Issues</h3>
@@ -116,7 +116,7 @@
 <h2><a shape="rect" name="Camel2.12.0Release-KnownIssues"></a>Known Issues</h2>
 
 <h2><a shape="rect" name="Camel2.12.0Release-DependencyUpgrades"></a>Dependency
Upgrades</h2>
-<ul><li>Commons Httpclient 4.2.3 to 4.2.5</li><li>Commons Httpcore
4.2.3 to 4.2.4</li><li>CXF 2.7.4 to 2.7.5</li><li>EHCache 2.5.2 to
2.6.5</li><li>HAPI 2.0 to 2.1</li><li>Hawtdispatch 1.13 to 1.17</li><li>Hibernate
Validator 4.1.0 to 4.3.1</li><li>Jackson 2.1.4 to 2.2.2</li><li>JRuby
1.7.2 to 1.7.3</li><li>Krati 0.4.8 to 0.4.9</li><li>Leveldbjni 1.6
to 1.7</li><li>MQTT Client 1.4 to 1.5</li><li>Netty 3.6.5 to 3.6.6</li><li>OpenJPA
2.2.1 to 2.2.2</li><li>Spring 3.1.4.RELEASE to 3.2.3.RELEASE</li><li>Spring
Data Redis 1.0.3.RELEASE to 1.0.4.RELEASE</li><li>Spring Security 3.1.3.RELEASE
to 3.1.4.RELEASE</li><li>Spring Web Services 2.1.2 to 2.1.3</li><li>TestNG
6.8 to 6.8.5</li><li>XStream 1.4.3 to 1.4.4</li></ul>
+<ul><li>Commons Httpclient 4.2.3 to 4.2.5</li><li>Commons Httpcore
4.2.3 to 4.2.4</li><li>CXF 2.7.4 to 2.7.5</li><li>EHCache 2.5.2 to
2.6.5</li><li>HAPI 2.0 to 2.1</li><li>Hawtdispatch 1.13 to 1.17</li><li>Hibernate
Validator 4.1.0 to 4.3.1</li><li>Jackson 2.1.4 to 2.2.2</li><li>JRuby
1.7.2 to 1.7.3</li><li>Krati 0.4.8 to 0.4.9</li><li>Leveldbjni 1.6
to 1.7</li><li>MQTT Client 1.4 to 1.5</li><li>Netty 3.6.5 to 3.6.6</li><li>OpenJPA
2.2.1 to 2.2.2</li><li>Shiro 1.2.1 to 1.2.2</li><li>Spring 3.1.4.RELEASE
to 3.2.3.RELEASE</li><li>Spring Data Redis 1.0.3.RELEASE to 1.0.4.RELEASE</li><li>Spring
Security 3.1.3.RELEASE to 3.1.4.RELEASE</li><li>Spring Web Services 2.1.2 to 2.1.3</li><li>TestNG
6.8 to 6.8.5</li><li>XStream 1.4.3 to 1.4.4</li></ul>
 
 
 <h2><a shape="rect" name="Camel2.12.0Release-Internalchanges"></a>Internal
changes</h2>

Modified: websites/production/camel/content/message-history.html
==============================================================================
--- websites/production/camel/content/message-history.html (original)
+++ websites/production/camel/content/message-history.html Fri May 31 13:20:30 2013
@@ -88,7 +88,89 @@
 <p>When Camel sends a message to an endpoint that endpoint information is stored on
the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> as a property
with the key <tt>Exchange.TO_ENDPOINT</tt>.<br clear="none">
 This property contains the last known endpoint the <a shape="rect" href="exchange.html"
title="Exchange">Exchange</a> was sent to (it will be overridden when sending to
new endpoint). Alternatively you can trace messages being sent using <a shape="rect" href="intercept.html"
title="Intercept">interceptors</a> or the <a shape="rect" href="eventnotifier-to-log-details-about-all-sent-exchanges.html"
title="EventNotifier to log details about all sent Exchanges">Event Notifier</a>.</p>
 
-<div class="panelMacro"><table class="tipMacro"><colgroup span="1"><col
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1"
valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif"
width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">The
<a shape="rect" href="message-history.html" title="Message History">Message History</a>
is scheduled for refactoring and improvement in Camel 3.0, to make it better and easier for
end users to access details.</td></tr></table></div>
+<h3><a shape="rect" name="MessageHistory-EasierMessageHistory"></a>Easier
Message History</h3>
+<p><b>Available as of Camel 2.12</b></p>
+
+<p><a shape="rect" href="message-history.html" title="Message History">Message
History</a> is enabled by default from Camel 2.12. During routing Camel captures how
the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> is routed,
as a <tt>org.apache.camel.MessageHistory</tt> entity that is stored on the <a
shape="rect" href="exchange.html" title="Exchange">Exchange</a>. On the <tt>org.apache.camel.MessageHistory</tt>
there is information abut the route id, processor id, timestamp, and elapsed time it took
to process the <a shape="rect" href="exchange.html" title="Exchange">Exchange</a>
by the processor. </p>
+
+<p>The information can be reached from Java code with:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+List&lt;MessageHistory&gt; list = exchange.getProperty(Exchange.MESSAGE_HISTORY,
List.class);
+...
+</pre>
+</div></div>
+
+<h4><a shape="rect" name="MessageHistory-Enablingordisablingmessagehistory"></a>Enabling
or disabling message history</h4>
+
+<p>The <a shape="rect" href="message-history.html" title="Message History">Message
History</a> can be enabled or disabled per <tt>CamelContext</tt> or per
route. For example you can turn it off with</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+camelContext.setMessageHistory(<span class="code-keyword">false</span>);
+</pre>
+</div></div>
+
+<p>Or from XML DSL with</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">
+<span class="code-tag">&lt;camelContext messageHistory=<span class="code-quote">"false"</span>
...&gt;</span>
+...
+<span class="code-tag">&lt;/camelContext&gt;</span>
+</pre>
+</div></div>
+
+<p>You can also do this per route. Then a route level configuration overrides the <tt>CamelContext</tt>
level configuration. </p>
+
+<h4><a shape="rect" name="MessageHistory-Routestacktraceinexceptionsloggedbyerrorhandler"></a>Route
stack-trace in exceptions logged by error handler</h4>
+
+<p>If <a shape="rect" href="message-history.html" title="Message History">Message
History</a> is enabled, then Camel will leverage this information, when the <a shape="rect"
href="error-handler.html" title="Error Handler">Error Handler</a> logs exhausted
exceptions. Then in addition to the caused exception with its stacktrace, you can see the
message history; you may think this as a "route stacktrace". And example is provided below:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+2013-05-31 14:41:28,084 [ - seda:<span class="code-comment">//start] ERROR DefaultErrorHandler
           - Failed delivery <span class="code-keyword">for</span> (MessageId:
ID-davsclaus-air-lan-55446-1370004087263-0-1 on ExchangeId: ID-davsclaus-air-lan-55446-1370004087263-0-3).
Exhausted after delivery attempt: 1 caught: java.lang.IllegalArgumentException: Forced to
dump message history
+</span>
+Message History
+---------------------------------------------------------------------------------------------------------------------------------------
+RouteId              ProcessorId          Processor                                     
                                  Elapsed (ms)
+[route1            ] [to1               ] [log:foo                                      
                                ] [         6]
+[route1            ] [to2               ] [direct:bar                                   
                                ] [       102]
+[route2            ] [to5               ] [log:bar                                      
                                ] [         1]
+[route2            ] [delay2            ] [delay[{100}]                                 
                                ] [       100]
+[route2            ] [to6               ] [mock:bar                                     
                                ] [         0]
+[route1            ] [delay1            ] [delay[{300}]                                 
                                ] [       303]
+[route1            ] [to3               ] [log:baz                                      
                                ] [         0]
+[route1            ] [process1          ] [org.apache.camel.processor.MessageHistoryDumpRoutingTest$1$1@6a53f9d8
        ] [         2]
+
+Stacktrace
+---------------------------------------------------------------------------------------------------------------------------------------
+java.lang.IllegalArgumentException: Forced to dump message history
+	at org.apache.camel.processor.MessageHistoryDumpRoutingTest$1$1.process(MessageHistoryDumpRoutingTest.java:54)
+	at org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63)
+	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:388)
+	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:189)
+	at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
+	at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
+	at org.apache.camel.processor.DelayProcessorSupport.process(DelayProcessorSupport.java:117)
+	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:388)
+	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:189)
+	at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
+	at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
+	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:189)
+	at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:293)
+	at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:202)
+	at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:149)
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
+	at java.lang.<span class="code-object">Thread</span>.run(<span class="code-object">Thread</span>.java:722)
+</pre>
+</div></div>
+
+<p>You can turn off logging message history from the <a shape="rect" href="error-handler.html"
title="Error Handler">Error Handler</a> using</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">
+errorHandler(defaultErrorHandler().logExhaustedMessageHistory(<span class="code-keyword">false</span>));
+</pre>
+</div></div>
 
 <h4><a shape="rect" name="MessageHistory-UsingThisPattern"></a>Using This
Pattern</h4>
 



Mime
View raw message