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<MessageHistory> 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"><camelContext messageHistory=<span
class="code-quote">"false"</span> ...></span>
+...
+<span class="code-tag"></camelContext></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>