Author: buildbot
Date: Sat Aug  8 18:20:03 2015
New Revision: 961174

Log:
Production update by buildbot for tapestry

Modified:
    
websites/production/tapestry/content/application-module-class-cheat-sheet.html
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/component-cheat-sheet.html
    websites/production/tapestry/content/logging-in-tapestry.html
    websites/production/tapestry/content/operation-tracker.html
    websites/production/tapestry/content/parallel-execution.html
    websites/production/tapestry/content/registry-startup.html
    websites/production/tapestry/content/request-processing.html
    websites/production/tapestry/content/starting-the-ioc-registry.html
    websites/production/tapestry/content/tapestry-for-jsf-users.html
    websites/production/tapestry/content/using-jsr-330-standard-annotations.html

Modified: 
websites/production/tapestry/content/application-module-class-cheat-sheet.html
==============================================================================
--- 
websites/production/tapestry/content/application-module-class-cheat-sheet.html 
(original)
+++ 
websites/production/tapestry/content/application-module-class-cheat-sheet.html 
Sat Aug  8 18:20:03 2015
@@ -31,8 +31,6 @@
   <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
   <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
   <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
   <script type="text/javascript">
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -67,12 +65,12 @@
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1437952782331 {padding: 0px;}
-div.rbtoc1437952782331 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1437952782331 li {margin-left: 0px;padding-left: 0px;}
+<div id="ConfluenceContent"><p>&#160;</p><p>The <strong>Application 
Module</strong> class is a simple Java class used to configure Tapestry. A 
system of annotations and naming conventions allows Tapestry to determine what 
services are provided by the module to your application. This is the place 
where you bind your custom implementation of services, contribute to, decorate 
and override existing services.</p><p><style type="text/css">/*<![CDATA[*/
+div.rbtoc1439057978181 {padding: 0px;}
+div.rbtoc1439057978181 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1439057978181 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1437952782331">
+/*]]>*/</style></p><div class="toc-macro rbtoc1439057978181">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-Namingconventions">Naming 
conventions</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-Thebindmethod">The bind 
method</a></li><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-Servicebuildermethods">Service builder 
methods</a></li><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-Contributemethods">Contribute 
methods</a>
@@ -83,7 +81,7 @@ div.rbtoc1437952782331 li {margin-left:
 </li><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-Loadservicesonregistrystartup">Load 
services on registry startup</a></li><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-Defineservicescope">Define service 
scope</a></li><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-Disambiguateservices">Disambiguate 
services</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-WithserviceId">With service 
Id</a></li><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-WithMarkers">With Markers</a></li></ul>
 </li><li><a shape="rect" 
href="#ApplicationModuleClassCheatSheet-Overrideexistingservices">Override 
existing services</a></li></ul>
-</div><p>&#160;The <strong>Application Module</strong> class is a simple Java 
class used to configure Tapestry. A system of annotations and naming 
conventions allows Tapestry to determine what services are provided by the 
module to your application. This is the place where you bind your custom 
implementation of services, contribute to, decorate and override existing 
services.</p><div class="aui-label" style="float:right" title="Related 
Articles">
+</div><div class="aui-label" style="float:right" title="Related Articles">
 
 
 
@@ -209,7 +207,7 @@ public class MyAppModule
     configuration.add(myTuple);
 }
 </pre>
-</div></div><h3 id="ApplicationModuleClassCheatSheet-Decoratemethods">Decorate 
methods</h3><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Annotations">Annotations</h2><p>Main 
Article: <a shape="rect" href="annotations.html">Annotations</a></p><p>Tapestry 
5.2 comes with a set of annotations to better your understanding of module 
classes.</p><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-parameter-typesParametertypes"><span 
class="confluence-anchor-link" 
id="ApplicationModuleClassCheatSheet-parameter-types"></span>Parameter 
types</h2><p>These methods may have any number of parameters, tapestry will try 
to resolve each parameter value as a configuration element or a registry 
element.</p><h3 
id="ApplicationModuleClassCheatSheet-Configurationparametertypes">Configuration 
parameter types</h3><p><em>content under development</em></p><h3 
id="ApplicationModuleClassCheatSheet-Linktoservices">Link to 
services</h3><p><em>cont
 ent under development</em></p><h3 
id="ApplicationModuleClassCheatSheet-Symbols">Symbols</h3><p>Main Article: <a 
shape="rect" href="symbols.html">Symbols</a></p><p><em>content under 
development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Loadservicesonregistrystartup">Load 
services on registry startup</h2><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Defineservicescope">Define service 
scope</h2><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Disambiguateservices">Disambiguate 
services</h2><p><em>content under development</em></p><h3 
id="ApplicationModuleClassCheatSheet-WithserviceId">With service 
Id</h3><p><em>content under development</em></p><h3 
id="ApplicationModuleClassCheatSheet-WithMarkers">With 
Markers</h3><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Overrideexistingservices">Override 
existing services</h2><p><em>content under development</em></p></div>
+</div></div><h3 id="ApplicationModuleClassCheatSheet-Decoratemethods">Decorate 
methods</h3><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Annotations">Annotations</h2><p>Main 
Article: <a shape="rect" href="annotations.html">Annotations</a></p><p>Tapestry 
5.2 comes with a set of annotations to better your understanding of module 
classes.</p><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-parameter-typesParametertypes"><span 
class="confluence-anchor-link" 
id="ApplicationModuleClassCheatSheet-parameter-types"></span>Parameter 
types</h2><p>These methods may have any number of parameters, tapestry will try 
to resolve each parameter value as a configuration element or a registry 
element.</p><h3 
id="ApplicationModuleClassCheatSheet-Configurationparametertypes">Configuration 
parameter types</h3><p><em>content under development</em></p><h3 
id="ApplicationModuleClassCheatSheet-Linktoservices">Link to 
services</h3><p><em>cont
 ent under development</em></p><h3 
id="ApplicationModuleClassCheatSheet-Symbols">Symbols</h3><p>Main Article: <a 
shape="rect" href="symbols.html">Symbols</a></p><p><em>content under 
development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Loadservicesonregistrystartup">Load 
services on registry startup</h2><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Defineservicescope">Define service 
scope</h2><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Disambiguateservices">Disambiguate 
services</h2><p><em>content under development</em></p><h3 
id="ApplicationModuleClassCheatSheet-WithserviceId">With service 
Id</h3><p><em>content under development</em></p><h3 
id="ApplicationModuleClassCheatSheet-WithMarkers">With 
Markers</h3><p><em>content under development</em></p><h2 
id="ApplicationModuleClassCheatSheet-Overrideexistingservices">Override 
existing services</h2><p><em>content under 
development</em></p><p>&#160;</p><p></p>
 </div>
 </div>
 
 <div class="clearer"></div>

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

Modified: websites/production/tapestry/content/component-cheat-sheet.html
==============================================================================
--- websites/production/tapestry/content/component-cheat-sheet.html (original)
+++ websites/production/tapestry/content/component-cheat-sheet.html Sat Aug  8 
18:20:03 2015
@@ -31,8 +31,6 @@
   <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
   <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
   <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
   <script type="text/javascript">
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -67,7 +65,7 @@
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><p>This is a summary of the more common 
annotations and methods you can add to Tapestry pages and component 
classes.</p><div class="aui-label" style="float:right" title="Related Articles">
+<div id="ConfluenceContent"><p>&#160;</p><p>This is a summary of the more 
common annotations and methods you can add to Tapestry pages and component 
classes.</p><div class="aui-label" style="float:right" title="Related Articles">
 
 
 
@@ -163,7 +161,7 @@ public void setParam(MappedConfiguration
 public void setParam(MappedConfiguration&lt; String, String&gt; configuration){
   configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
 }</pre>
-</div></div></li></ul><p></p></div>
+</div></div></li></ul><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/logging-in-tapestry.html
==============================================================================
--- websites/production/tapestry/content/logging-in-tapestry.html (original)
+++ websites/production/tapestry/content/logging-in-tapestry.html Sat Aug  8 
18:20:03 2015
@@ -30,9 +30,7 @@
     <link href='/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' 
type='text/css' />
   <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
   <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
   <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
   <script type="text/javascript">
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -172,7 +170,7 @@
     &lt;/dependency&gt;
   &lt;/dependencies&gt;
 </pre>
-</div></div><p>This pulls out the log4j support normally included with 
Tapestry, and replaces it with the SLF4J library that wraps around JDK 1.4 
logging.</p><p>In all likelihood, you'll replace <em>tapestry-ioc</em> with 
<em>tapestry-core</em> (assuming you are building a web application using 
Tapestry, rather than using Tapestry IoC as part of some other application). 
And, of course, version numbers change all the time!</p></div>
+</div></div><p>This pulls out the log4j support normally included with 
Tapestry, and replaces it with the SLF4J library that wraps around JDK 1.4 
logging.</p><p>In all likelihood, you'll replace <em>tapestry-ioc</em> with 
<em>tapestry-core</em> (assuming you are building a web application using 
Tapestry, rather than using Tapestry IoC as part of some other application). 
And, of course, version numbers change all the 
time!</p><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/operation-tracker.html
==============================================================================
--- websites/production/tapestry/content/operation-tracker.html (original)
+++ websites/production/tapestry/content/operation-tracker.html Sat Aug  8 
18:20:03 2015
@@ -27,16 +27,6 @@
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
 
-    <link href='/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' 
type='text/css' />
-  <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
-  <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
-  <script type="text/javascript">
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all();
-  </script>
 
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -106,7 +96,7 @@
                         
                     </div>
     </li></ul>
-</div><p>The <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/OperationTracker.html";>OperationTracker</a>
 is a resource; it's actually a singleton, and is available for injection into 
any IoC service (or Tapestry component).</p><p>Using the OperationTracker you 
may run a Runnable, or invoke an Invokable (returning a typed response). 
&#160;Associated with the operation is a description string.</p><p>If there are 
no exceptions, then no problem.</p><p>If there &#160;are exceptions, then 
you'll see the console output logged at the point of the 
exception:</p><pre></pre><p>qtp644826761-13 [ERROR] Registry Operations 
trace:<br clear="none">qtp644826761-13 [ERROR] Registry [ 1] Handling page 
render request for page DatumEditor<br clear="none">qtp644826761-13 [ERROR] 
Registry [ 2] Constructing instance of page class 
org.apache.tapestry5.integration.app1.pages.DatumEditor<br 
clear="none">qtp644826761-13 [ERROR] Registry [ 3] Assem
 bling root component for page DatumEditor<br clear="none">qtp644826761-13 
[ERROR] Registry [ 4] Running component class transformations on 
org.apache.tapestry5.integration.app1.pages.Datum<br 
clear="none">qtp644826761-13 [ERROR] RequestExceptionHandler Processing of 
request failed with uncaught exception: java.lang.RuntimeException: Exception 
assembling root component of page DatumEditor: Unable to instantiate instance 
of transformed class org.apache.tapestry5.integration.app1.pages.DatumEditor: 
java.lang.reflect.InvocationTargetException<br 
clear="none">java.lang.RuntimeException: Exception assembling root component of 
page DatumEditor: Unable to instantiate instance of transformed class 
org.apache.tapestry5.integration.app1.pages.DatumEditor: 
java.lang.reflect.InvocationTargetException<br clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.<a
 shape="rect" class="external-link" href="http://java:129"; >jav
 a:129</a>)<br clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.access$000(ComponentAssemblerImpl.java:37)<br
 clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:81)<br
 clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:78)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.<a 
shape="rect" class="external-link" href="http://java:1258"; >java:1258</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.assembleRootComponent(ComponentAssemblerImpl.java:76)<br
 clear="none">at 
org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageL
 oaderImpl.<a shape="rect" class="external-link" href="http://java:197"; 
>java:197</a>)<br clear="none">at 
org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.<a
 shape="rect" class="external-link" href="http://java:190"; >java:190</a>)<br 
clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.<a 
shape="rect" class="external-link" href="http://java:1258"; >java:1258</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.<a
 shape="rect" class="external-link" href="http://java:189"; >java:189</a>)<br 
clear="none">at $PageLoader_13a0346ec83c4e52.loadPage(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.
 <a shape="rect" class="external-link" href="http://java:104"; >java:104</a>)<br 
clear="none">at $PageSource_13a0346ec83c4e51.getPage(Unknown Source)<br 
clear="none">at $PageSource_13a0346ec83c4e50.getPage(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:86)<br
 clear="none">at $RequestPageCache_13a0346ec83c4e4f.get(Unknown Source)<br 
clear="none">at $RequestPageCache_13a0346ec83c4e4e.get(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:56)<br
 clear="none">at 
org.apache.tapestry5.modules.TapestryModule$34.handle(TapestryModule.<a 
shape="rect" class="external-link" href="http://java:1978"; >java:1978</a>)<br 
clear="none">at $PageRenderRequestHandler_13a0346ec83c4f9c.handle(Unknown 
Source)<br clear="none">at 
$PageRenderRequestHandler_13a0346ec83c4f97.handle(Unknown Source)<br 
clear="none">at org.apache.tapestry5.internal
 
.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)<br
 clear="none">at 
org.apache.tapestry5.internal.services.DeferredResponseRenderer.handlePageRender(DeferredResponseRenderer.java:52)<br
 clear="none">at 
$ComponentRequestFilter_13a0346ec83c4f95.handlePageRender(Unknown Source)<br 
clear="none">at 
$ComponentRequestHandler_13a0346ec83c4f98.handlePageRender(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)<br
 clear="none">at 
$ComponentRequestFilter_13a0346ec83c4f94.handlePageRender(Unknown Source)<br 
clear="none">at 
$ComponentRequestHandler_13a0346ec83c4f98.handlePageRender(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.ProductionModeUnknownComponentFilter.handlePageRender(ProductionModeUnknownComponentFilter.java:62)<br
 clear="none">at 
$ComponentRequestFilter_13a0346ec83c4f93.handlePageRender(Unknown Source)<br 
clear=
 "none">at $ComponentRequestHandler_13a0346ec83c4f98.handlePageRender(Unknown 
Source)<br clear="none">at 
org.apache.tapestry5.internal.services.RequestOperationTracker$2.run(RequestOperationTracker.java:73)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:56)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:60)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.<a shape="rect" 
class="external-link" href="http://java:1252"; >java:1252</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.services.RequestOperationTracker.handlePageRender(RequestOperationTracker.java:66)<br
 clear="none">at 
$ComponentRequestFilter_13a0346ec83c4f92.handlePageRender(Unknown Source)<br 
clear="none">at 
$ComponentRequestHandler_13a0346ec83c4f98.handlePageRender(Unknown Source)<br 
clear="none">at 
$ComponentRequestHandler_13a0346ec83c4f81.handlePageRender(Unknown
  Source)<br clear="none">at 
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:52)<br
 clear="none">at $Dispatcher_13a0346ec83c4f7f.dispatch(Unknown Source)<br 
clear="none">at $Dispatcher_13a0346ec83c4f80.dispatch(Unknown Source)<br 
clear="none">at $Dispatcher_13a0346ec83c4f74.dispatch(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.modules.TapestryModule$RequestHandlerTerminator.service(TapestryModule.<a
 shape="rect" class="external-link" href="http://java:304"; >java:304</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)<br
 clear="none">at $RequestFilter_13a0346ec83c4f73.service(Unknown Source)<br 
clear="none">at $RequestHandler_13a0346ec83c4f75.service(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.<a 
shape="rect" class="external-link" href="http://java:854"; >java:854</a>)<br 
clear="none">at $RequestHandler_1
 3a0346ec83c4f75.service(Unknown Source)<br clear="none">at 
org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.<a 
shape="rect" class="external-link" href="http://java:844"; >java:844</a>)<br 
clear="none">at $RequestHandler_13a0346ec83c4f75.service(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89)<br
 clear="none">at $RequestHandler_13a0346ec83c4f75.service(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.integration.app1.services.AppModule$2.service(AppModule.<a 
shape="rect" class="external-link" href="http://java:111"; >java:111</a>)<br 
clear="none">at $RequestFilter_13a0346ec83c4f71.service(Unknown Source)<br 
clear="none">at $RequestHandler_13a0346ec83c4f75.service(Unknown Source)<br 
clear="none">at $RequestHandler_13a0346ec83c4f6a.service(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.<a
 shape=
 "rect" class="external-link" href="http://java:255"; >java:255</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59)<br 
clear="none">at $HttpServletRequestHandler_13a0346ec83c4f6c.service(Unknown 
Source)<br clear="none">at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)<br
 clear="none">at $HttpServletRequestFilter_13a0346ec83c4f6d.service(Unknown 
Source)<br clear="none">at 
$HttpServletRequestFilter_13a0346ec83c4f68.service(Unknown Source)<br 
clear="none">at $HttpServletRequestHandler_13a0346ec83c4f6c.service(Unknown 
Source)<br clear="none">at 
org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.<a 
shape="rect" class="external-link" href="http://java:804"; >java:804</a>)<br 
clear="none">at $HttpServletRequestHandler_13a0346ec83c4f6c.service(Unknown 
Source)<br clear="none">at 
$HttpServletRequestHandler_13a0346ec83c4f67.service(Unknown Source)<br 
clear="none">at org.apache.tapestry5.
 TapestryFilter.doFilter(TapestryFilter.<a shape="rect" class="external-link" 
href="http://java:166"; >java:166</a>)<br clear="none">at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.<a 
shape="rect" class="external-link" href="http://java:1291"; >java:1291</a>)<br 
clear="none">at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.<a 
shape="rect" class="external-link" href="http://java:443"; >java:443</a>)<br 
clear="none">at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.<a 
shape="rect" class="external-link" href="http://java:137"; >java:137</a>)<br 
clear="none">at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.<a 
shape="rect" class="external-link" href="http://java:556"; >java:556</a>)<br 
clear="none">at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.<a 
shape="rect" class="external-link" href="http://java:227"; >java:227</a>)<br 
clear="none">at org.eclipse.jetty.server.handler.Conte
 xtHandler.doHandle(ContextHandler.<a shape="rect" class="external-link" 
href="http://java:1044"; >java:1044</a>)<br clear="none">at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.<a shape="rect" 
class="external-link" href="http://java:372"; >java:372</a>)<br clear="none">at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.<a 
shape="rect" class="external-link" href="http://java:189"; >java:189</a>)<br 
clear="none">at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.<a 
shape="rect" class="external-link" href="http://java:978"; >java:978</a>)<br 
clear="none">at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.<a 
shape="rect" class="external-link" href="http://java:135"; >java:135</a>)<br 
clear="none">at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.<a 
shape="rect" class="external-link" href="http://java:116"; >java:116</a>)<br 
clear="none">at org.eclipse.jetty.server.Server.handle(Server.<
 a shape="rect" class="external-link" href="http://java:369"; >java:369</a>)<br 
clear="none">at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.<a
 shape="rect" class="external-link" href="http://java:486"; >java:486</a>)<br 
clear="none">at 
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.<a
 shape="rect" class="external-link" href="http://java:933"; >java:933</a>)<br 
clear="none">at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.<a
 shape="rect" class="external-link" href="http://java:995"; >java:995</a>)<br 
clear="none">at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.<a 
shape="rect" class="external-link" href="http://java:644"; >java:644</a>)<br 
clear="none">at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.<a 
shape="rect" class="external-link" href="http://java:235"; >java:235</a>)<br 
clear="none">at org.eclipse.jetty.server.AsyncHttpConnect
 ion.handle(AsyncHttpConnection.java:82)<br clear="none">at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.<a 
shape="rect" class="external-link" href="http://java:668"; >java:668</a>)<br 
clear="none">at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)<br
 clear="none">at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.<a 
shape="rect" class="external-link" href="http://java:608"; >java:608</a>)<br 
clear="none">at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.<a 
shape="rect" class="external-link" href="http://java:543"; >java:543</a>)<br 
clear="none">at java.lang.Thread.run(Thread.<a shape="rect" 
class="external-link" href="http://java:724"; >java:724</a>)<br 
clear="none">Caused by: java.lang.RuntimeException: Unable to instantiate 
instance of transformed class 
org.apache.tapestry5.integration.app1.pages.DatumEditor: 
java.lang.reflect.InvocationTargetException<br clear="none">at or
 
g.apache.tapestry5.internal.plastic.ClassInstantiatorImpl.newInstance(ClassInstantiatorImpl.<a
 shape="rect" class="external-link" href="http://java:113"; >java:113</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$2$1.newInstance(ComponentInstantiatorSourceImpl.<a
 shape="rect" class="external-link" href="http://java:235"; >java:235</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.&lt;init&gt;(InternalComponentResourcesImpl.<a
 shape="rect" class="external-link" href="http://java:163"; >java:163</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.&lt;init&gt;(ComponentPageElementImpl.<a
 shape="rect" class="external-link" href="http://java:555"; >java:555</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.&lt;init&gt;(ComponentPageElementImpl.<a
 shape="rect" class="external-link" href="http://java:579"; >java:579</a>)<br 
clear=
 "none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.java:97)<br
 clear="none">... 94 more<br clear="none">Caused by: 
java.lang.reflect.InvocationTargetException<br clear="none">at 
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br 
clear="none">at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)<br
 clear="none">at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br
 clear="none">at java.lang.reflect.Constructor.newInstance(Constructor.<a 
shape="rect" class="external-link" href="http://java:526"; >java:526</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.plastic.ClassInstantiatorImpl.newInstance(ClassInstantiatorImpl.<a
 shape="rect" class="external-link" href="http://java:109"; >java:109</a>)<br 
clear="none">... 99 more<br clear="none">Caused by: 
org.apache.tapestry5.ioc.internal.OperationExceptio
 n: Field _value of class org.apache.tapestry5.integration.app1.pages.Datum 
must be instrumented, and may not be public.<br clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.<a
 shape="rect" class="external-link" href="http://java:184"; >java:184</a>)<br 
clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:62)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:60)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.<a shape="rect" 
class="external-link" href="http://java:1252"; >java:1252</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.transform(ComponentInstantiatorSourceImpl.<a
 shape="rect" class="external-link" href="http://java:266"; >java:266</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.plastic.PlasticClassPool.loadAndTransformClass(P
 lasticClassPool.<a shape="rect" class="external-link" href="http://java:368"; 
>java:368</a>)<br clear="none">at 
org.apache.tapestry5.internal.plastic.PlasticClassLoader.loadClass(PlasticClassLoader.java:38)<br
 clear="none">at java.lang.ClassLoader.loadClass(ClassLoader.<a shape="rect" 
class="external-link" href="http://java:357"; >java:357</a>)<br clear="none">at 
org.apache.tapestry5.integration.app1.pages.DatumEditor.initializeInstance(DatumEditor.java:22)<br
 clear="none">at 
org.apache.tapestry5.integration.app1.pages.DatumEditor.&lt;init&gt;(DatumEditor.java)<br
 clear="none">... 104 more<br clear="none">Caused by: 
java.lang.IllegalArgumentException: Field _value of class 
org.apache.tapestry5.integration.app1.pages.Datum must be instrumented, and may 
not be public.<br clear="none">at 
org.apache.tapestry5.internal.plastic.PlasticFieldImpl.ensureNotPublic(PlasticFieldImpl.<a
 shape="rect" class="external-link" href="http://java:166"; >java:166</a>)<br 
clear="none">at org.apache.tapestry5
 .internal.plastic.PlasticFieldImpl.replaceFieldReadAccess(PlasticFieldImpl.<a 
shape="rect" class="external-link" href="http://java:423"; >java:423</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.plastic.PlasticFieldImpl.setComputedConduit(PlasticFieldImpl.<a
 shape="rect" class="external-link" href="http://java:292"; >java:292</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.transform.UnclaimedFieldWorker.transformField(UnclaimedFieldWorker.java:99)<br
 clear="none">at 
org.apache.tapestry5.internal.transform.UnclaimedFieldWorker.transform(UnclaimedFieldWorker.java:88)<br
 clear="none">at 
$ComponentClassTransformWorker2_13a0346ec83c4e9a.transform(Unknown Source)<br 
clear="none">at 
$ComponentClassTransformWorker2_13a0346ec83c4e9c.transform(Unknown Source)<br 
clear="none">at 
$ComponentClassTransformWorker2_13a0346ec83c4e7f.transform(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$3.run(ComponentInstantiatorSourceImpl.<a
 sh
 ape="rect" class="external-link" href="http://java:316"; >java:316</a>)<br 
clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:56)<br
 clear="none">... 112 more</p><p>Notice how the operation trace at the top of 
the text succinctly explains how execution arrived at the point of failure and 
why, information that isn't captured in a stack trace.</p><p>This operation 
trace appears in the Tapestry web applications, as part of the <a shape="rect" 
href="runtime-exceptions.html">default exception report page</a>.</p><p>There 
are times, especially when tracking down startup failures, where it is useful 
to see the operations log even without explicit 
exceptions.</p><p>Enabling&#160;<strong>debug</strong> level logging for 
the&#160;<strong>org.apache.tapestry5.ioc.Registry</strong> logging category 
will provide huge volumes of output in the console:</p><pre></pre><p>[DEBUG] 
Registry [ 1] --&gt; Creating non-proxied instance of service ServiceConf
 igurationListenerHub<br clear="none">[DEBUG] Registry [ 2] --&gt; Creating 
plan to instantiate 
org.apache.tapestry5.ioc.services.ServiceConfigurationListenerHub via public 
org.apache.tapestry5.ioc.services.ServiceConfigurationListenerHub(java.util.List)<br
 clear="none">[DEBUG] Registry [ 3] --&gt; Determining injection value for 
parameter #1 (java.util.List)<br clear="none">[DEBUG] Registry [ 4] --&gt; 
Collecting ordered configuration for service ServiceConfigurationListenerHub<br 
clear="none">[DEBUG] Registry [ 5] --&gt; Invoking 
org.apache.tapestry5.ioc.FredModule.configureServiceConfigurationListener(OrderedConfiguration,
 CatchAllServiceConfigurationListener) (at FredModule.<a shape="rect" 
class="external-link" href="http://java:141"; >java:141</a>)<br 
clear="none">[DEBUG] Registry [ 6] --&gt; Determining injection value for 
parameter #1 (org.apache.tapestry5.ioc.OrderedConfiguration)<br 
clear="none">[DEBUG] Registry [ 6] &lt;-- Determining injection value for 
parameter #1 (org.ap
 ache.tapestry5.ioc.OrderedConfiguration) [0.17 ms]<br clear="none">[DEBUG] 
Registry [ 6] --&gt; Determining injection value for parameter #2 
(org.apache.tapestry5.ioc.CatchAllServiceConfigurationListener)<br 
clear="none">[DEBUG] Registry [ 7] --&gt; Creating proxy for service 
MasterObjectProvider<br clear="none">[DEBUG] Registry [ 7] &lt;-- Creating 
proxy for service MasterObjectProvider [2.82 ms]<br clear="none">[DEBUG] 
Registry [ 7] --&gt; Realizing service MasterObjectProvider<br 
clear="none">[DEBUG] Registry [ 8] --&gt; Instantiating service 
MasterObjectProvider implementation via 
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl(List, 
OperationTracker) (at MasterObjectProviderImpl.java:33) via 
org.apache.tapestry5.ioc.modules.TapestryIOCModule.bind(ServiceBinder) (at 
TapestryIOCModule.java:50)<br clear="none">[DEBUG] Registry [ 9] --&gt; 
Creating plan to instantiate 
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl via public 
org.apache.tapes
 
try5.ioc.internal.services.MasterObjectProviderImpl(java.util.List,org.apache.tapestry5.ioc.OperationTracker)<br
 clear="none">[DEBUG] Registry [ 10] --&gt; Determining injection value for 
parameter #1 (java.util.List)<br clear="none">[DEBUG] Registry [ 11] --&gt; 
Collecting ordered configuration for service MasterObjectProvider<br 
clear="none">[DEBUG] Registry [ 12] --&gt; Invoking 
org.apache.tapestry5.ioc.modules.TapestryIOCModule.setupObjectProviders(OrderedConfiguration,
 ServiceOverride) (at TapestryIOCModule.<a shape="rect" class="external-link" 
href="http://java:136"; >java:136</a>)<br clear="none">[DEBUG] Registry [ 13] 
--&gt; Determining injection value for parameter #1 
(org.apache.tapestry5.ioc.OrderedConfiguration)<br clear="none">[DEBUG] 
Registry [ 13] &lt;-- Determining injection value for parameter #1 
(org.apache.tapestry5.ioc.OrderedConfiguration) [0.17 ms]<br 
clear="none">[DEBUG] Registry [ 13] --&gt; Determining injection value for 
parameter #2 (org.apache.tapestry5.io
 c.services.ServiceOverride)<br clear="none">[DEBUG] Registry [ 14] --&gt; 
Creating proxy for service ServiceOverride<br clear="none">[DEBUG] Registry [ 
14] &lt;-- Creating proxy for service ServiceOverride [2.15 ms]<br 
clear="none">[DEBUG] Registry [ 13] &lt;-- Determining injection value for 
parameter #2 (org.apache.tapestry5.ioc.services.ServiceOverride) [2.62 ms]<br 
clear="none">[DEBUG] Registry [ 13] --&gt; Creating proxy for service 
UpdateListenerHub<br clear="none">[DEBUG] Registry [ 13] &lt;-- Creating proxy 
for service UpdateListenerHub [2.28 ms]</p><p>...</p><p>The output identifies 
operation depth (the number in square brackets), whether the operation is 
starting&#160;(&#8211;&gt;) or finishing&#160;(&lt;&#8211;), and even the 
execution time of the operation.</p></div>
+</div><p>The <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/OperationTracker.html";>OperationTracker</a>
 is a resource; it's actually a singleton, and is available for injection into 
any IoC service (or Tapestry component).</p><p>Using the OperationTracker you 
may run a Runnable, or invoke an Invokable (returning a typed response). 
&#160;Associated with the operation is a description string.</p><p>If there are 
no exceptions, then no problem.</p><p>If there &#160;are exceptions, then 
you'll see the console output logged at the point of the 
exception:</p><pre></pre><p>qtp644826761-13 [ERROR] Registry Operations 
trace:<br clear="none">qtp644826761-13 [ERROR] Registry [ 1] Handling page 
render request for page DatumEditor<br clear="none">qtp644826761-13 [ERROR] 
Registry [ 2] Constructing instance of page class 
org.apache.tapestry5.integration.app1.pages.DatumEditor<br 
clear="none">qtp644826761-13 [ERROR] Registry [ 3] Assem
 bling root component for page DatumEditor<br clear="none">qtp644826761-13 
[ERROR] Registry [ 4] Running component class transformations on 
org.apache.tapestry5.integration.app1.pages.Datum<br 
clear="none">qtp644826761-13 [ERROR] RequestExceptionHandler Processing of 
request failed with uncaught exception: java.lang.RuntimeException: Exception 
assembling root component of page DatumEditor: Unable to instantiate instance 
of transformed class org.apache.tapestry5.integration.app1.pages.DatumEditor: 
java.lang.reflect.InvocationTargetException<br 
clear="none">java.lang.RuntimeException: Exception assembling root component of 
page DatumEditor: Unable to instantiate instance of transformed class 
org.apache.tapestry5.integration.app1.pages.DatumEditor: 
java.lang.reflect.InvocationTargetException<br clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.<a
 shape="rect" class="external-link" href="http://java:129"; >jav
 a:129</a>)<br clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.access$000(ComponentAssemblerImpl.java:37)<br
 clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:81)<br
 clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:78)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.<a 
shape="rect" class="external-link" href="http://java:1258"; >java:1258</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.assembleRootComponent(ComponentAssemblerImpl.java:76)<br
 clear="none">at 
org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageL
 oaderImpl.<a shape="rect" class="external-link" href="http://java:197"; 
>java:197</a>)<br clear="none">at 
org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.<a
 shape="rect" class="external-link" href="http://java:190"; >java:190</a>)<br 
clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.<a 
shape="rect" class="external-link" href="http://java:1258"; >java:1258</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.<a
 shape="rect" class="external-link" href="http://java:189"; >java:189</a>)<br 
clear="none">at $PageLoader_13a0346ec83c4e52.loadPage(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.
 <a shape="rect" class="external-link" href="http://java:104"; >java:104</a>)<br 
clear="none">at $PageSource_13a0346ec83c4e51.getPage(Unknown Source)<br 
clear="none">at $PageSource_13a0346ec83c4e50.getPage(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:86)<br
 clear="none">at $RequestPageCache_13a0346ec83c4e4f.get(Unknown Source)<br 
clear="none">at $RequestPageCache_13a0346ec83c4e4e.get(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:56)<br
 clear="none">at 
org.apache.tapestry5.modules.TapestryModule$34.handle(TapestryModule.<a 
shape="rect" class="external-link" href="http://java:1978"; >java:1978</a>)<br 
clear="none">at $PageRenderRequestHandler_13a0346ec83c4f9c.handle(Unknown 
Source)<br clear="none">at 
$PageRenderRequestHandler_13a0346ec83c4f97.handle(Unknown Source)<br 
clear="none">at org.apache.tapestry5.internal
 
.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)<br
 clear="none">at 
org.apache.tapestry5.internal.services.DeferredResponseRenderer.handlePageRender(DeferredResponseRenderer.java:52)<br
 clear="none">at 
$ComponentRequestFilter_13a0346ec83c4f95.handlePageRender(Unknown Source)<br 
clear="none">at 
$ComponentRequestHandler_13a0346ec83c4f98.handlePageRender(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)<br
 clear="none">at 
$ComponentRequestFilter_13a0346ec83c4f94.handlePageRender(Unknown Source)<br 
clear="none">at 
$ComponentRequestHandler_13a0346ec83c4f98.handlePageRender(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.ProductionModeUnknownComponentFilter.handlePageRender(ProductionModeUnknownComponentFilter.java:62)<br
 clear="none">at 
$ComponentRequestFilter_13a0346ec83c4f93.handlePageRender(Unknown Source)<br 
clear=
 "none">at $ComponentRequestHandler_13a0346ec83c4f98.handlePageRender(Unknown 
Source)<br clear="none">at 
org.apache.tapestry5.internal.services.RequestOperationTracker$2.run(RequestOperationTracker.java:73)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:56)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:60)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.<a shape="rect" 
class="external-link" href="http://java:1252"; >java:1252</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.services.RequestOperationTracker.handlePageRender(RequestOperationTracker.java:66)<br
 clear="none">at 
$ComponentRequestFilter_13a0346ec83c4f92.handlePageRender(Unknown Source)<br 
clear="none">at 
$ComponentRequestHandler_13a0346ec83c4f98.handlePageRender(Unknown Source)<br 
clear="none">at 
$ComponentRequestHandler_13a0346ec83c4f81.handlePageRender(Unknown
  Source)<br clear="none">at 
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:52)<br
 clear="none">at $Dispatcher_13a0346ec83c4f7f.dispatch(Unknown Source)<br 
clear="none">at $Dispatcher_13a0346ec83c4f80.dispatch(Unknown Source)<br 
clear="none">at $Dispatcher_13a0346ec83c4f74.dispatch(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.modules.TapestryModule$RequestHandlerTerminator.service(TapestryModule.<a
 shape="rect" class="external-link" href="http://java:304"; >java:304</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)<br
 clear="none">at $RequestFilter_13a0346ec83c4f73.service(Unknown Source)<br 
clear="none">at $RequestHandler_13a0346ec83c4f75.service(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.<a 
shape="rect" class="external-link" href="http://java:854"; >java:854</a>)<br 
clear="none">at $RequestHandler_1
 3a0346ec83c4f75.service(Unknown Source)<br clear="none">at 
org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.<a 
shape="rect" class="external-link" href="http://java:844"; >java:844</a>)<br 
clear="none">at $RequestHandler_13a0346ec83c4f75.service(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89)<br
 clear="none">at $RequestHandler_13a0346ec83c4f75.service(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.integration.app1.services.AppModule$2.service(AppModule.<a 
shape="rect" class="external-link" href="http://java:111"; >java:111</a>)<br 
clear="none">at $RequestFilter_13a0346ec83c4f71.service(Unknown Source)<br 
clear="none">at $RequestHandler_13a0346ec83c4f75.service(Unknown Source)<br 
clear="none">at $RequestHandler_13a0346ec83c4f6a.service(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.<a
 shape=
 "rect" class="external-link" href="http://java:255"; >java:255</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59)<br 
clear="none">at $HttpServletRequestHandler_13a0346ec83c4f6c.service(Unknown 
Source)<br clear="none">at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)<br
 clear="none">at $HttpServletRequestFilter_13a0346ec83c4f6d.service(Unknown 
Source)<br clear="none">at 
$HttpServletRequestFilter_13a0346ec83c4f68.service(Unknown Source)<br 
clear="none">at $HttpServletRequestHandler_13a0346ec83c4f6c.service(Unknown 
Source)<br clear="none">at 
org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.<a 
shape="rect" class="external-link" href="http://java:804"; >java:804</a>)<br 
clear="none">at $HttpServletRequestHandler_13a0346ec83c4f6c.service(Unknown 
Source)<br clear="none">at 
$HttpServletRequestHandler_13a0346ec83c4f67.service(Unknown Source)<br 
clear="none">at org.apache.tapestry5.
 TapestryFilter.doFilter(TapestryFilter.<a shape="rect" class="external-link" 
href="http://java:166"; >java:166</a>)<br clear="none">at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.<a 
shape="rect" class="external-link" href="http://java:1291"; >java:1291</a>)<br 
clear="none">at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.<a 
shape="rect" class="external-link" href="http://java:443"; >java:443</a>)<br 
clear="none">at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.<a 
shape="rect" class="external-link" href="http://java:137"; >java:137</a>)<br 
clear="none">at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.<a 
shape="rect" class="external-link" href="http://java:556"; >java:556</a>)<br 
clear="none">at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.<a 
shape="rect" class="external-link" href="http://java:227"; >java:227</a>)<br 
clear="none">at org.eclipse.jetty.server.handler.Conte
 xtHandler.doHandle(ContextHandler.<a shape="rect" class="external-link" 
href="http://java:1044"; >java:1044</a>)<br clear="none">at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.<a shape="rect" 
class="external-link" href="http://java:372"; >java:372</a>)<br clear="none">at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.<a 
shape="rect" class="external-link" href="http://java:189"; >java:189</a>)<br 
clear="none">at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.<a 
shape="rect" class="external-link" href="http://java:978"; >java:978</a>)<br 
clear="none">at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.<a 
shape="rect" class="external-link" href="http://java:135"; >java:135</a>)<br 
clear="none">at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.<a 
shape="rect" class="external-link" href="http://java:116"; >java:116</a>)<br 
clear="none">at org.eclipse.jetty.server.Server.handle(Server.<
 a shape="rect" class="external-link" href="http://java:369"; >java:369</a>)<br 
clear="none">at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.<a
 shape="rect" class="external-link" href="http://java:486"; >java:486</a>)<br 
clear="none">at 
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.<a
 shape="rect" class="external-link" href="http://java:933"; >java:933</a>)<br 
clear="none">at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.<a
 shape="rect" class="external-link" href="http://java:995"; >java:995</a>)<br 
clear="none">at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.<a 
shape="rect" class="external-link" href="http://java:644"; >java:644</a>)<br 
clear="none">at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.<a 
shape="rect" class="external-link" href="http://java:235"; >java:235</a>)<br 
clear="none">at org.eclipse.jetty.server.AsyncHttpConnect
 ion.handle(AsyncHttpConnection.java:82)<br clear="none">at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.<a 
shape="rect" class="external-link" href="http://java:668"; >java:668</a>)<br 
clear="none">at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)<br
 clear="none">at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.<a 
shape="rect" class="external-link" href="http://java:608"; >java:608</a>)<br 
clear="none">at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.<a 
shape="rect" class="external-link" href="http://java:543"; >java:543</a>)<br 
clear="none">at java.lang.Thread.run(Thread.<a shape="rect" 
class="external-link" href="http://java:724"; >java:724</a>)<br 
clear="none">Caused by: java.lang.RuntimeException: Unable to instantiate 
instance of transformed class 
org.apache.tapestry5.integration.app1.pages.DatumEditor: 
java.lang.reflect.InvocationTargetException<br clear="none">at or
 
g.apache.tapestry5.internal.plastic.ClassInstantiatorImpl.newInstance(ClassInstantiatorImpl.<a
 shape="rect" class="external-link" href="http://java:113"; >java:113</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$2$1.newInstance(ComponentInstantiatorSourceImpl.<a
 shape="rect" class="external-link" href="http://java:235"; >java:235</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.&lt;init&gt;(InternalComponentResourcesImpl.<a
 shape="rect" class="external-link" href="http://java:163"; >java:163</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.&lt;init&gt;(ComponentPageElementImpl.<a
 shape="rect" class="external-link" href="http://java:555"; >java:555</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.&lt;init&gt;(ComponentPageElementImpl.<a
 shape="rect" class="external-link" href="http://java:579"; >java:579</a>)<br 
clear=
 "none">at 
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.java:97)<br
 clear="none">... 94 more<br clear="none">Caused by: 
java.lang.reflect.InvocationTargetException<br clear="none">at 
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br 
clear="none">at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)<br
 clear="none">at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br
 clear="none">at java.lang.reflect.Constructor.newInstance(Constructor.<a 
shape="rect" class="external-link" href="http://java:526"; >java:526</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.plastic.ClassInstantiatorImpl.newInstance(ClassInstantiatorImpl.<a
 shape="rect" class="external-link" href="http://java:109"; >java:109</a>)<br 
clear="none">... 99 more<br clear="none">Caused by: 
org.apache.tapestry5.ioc.internal.OperationExceptio
 n: Field _value of class org.apache.tapestry5.integration.app1.pages.Datum 
must be instrumented, and may not be public.<br clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.<a
 shape="rect" class="external-link" href="http://java:184"; >java:184</a>)<br 
clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:62)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:60)<br
 clear="none">at 
org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.<a shape="rect" 
class="external-link" href="http://java:1252"; >java:1252</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.transform(ComponentInstantiatorSourceImpl.<a
 shape="rect" class="external-link" href="http://java:266"; >java:266</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.plastic.PlasticClassPool.loadAndTransformClass(P
 lasticClassPool.<a shape="rect" class="external-link" href="http://java:368"; 
>java:368</a>)<br clear="none">at 
org.apache.tapestry5.internal.plastic.PlasticClassLoader.loadClass(PlasticClassLoader.java:38)<br
 clear="none">at java.lang.ClassLoader.loadClass(ClassLoader.<a shape="rect" 
class="external-link" href="http://java:357"; >java:357</a>)<br clear="none">at 
org.apache.tapestry5.integration.app1.pages.DatumEditor.initializeInstance(DatumEditor.java:22)<br
 clear="none">at 
org.apache.tapestry5.integration.app1.pages.DatumEditor.&lt;init&gt;(DatumEditor.java)<br
 clear="none">... 104 more<br clear="none">Caused by: 
java.lang.IllegalArgumentException: Field _value of class 
org.apache.tapestry5.integration.app1.pages.Datum must be instrumented, and may 
not be public.<br clear="none">at 
org.apache.tapestry5.internal.plastic.PlasticFieldImpl.ensureNotPublic(PlasticFieldImpl.<a
 shape="rect" class="external-link" href="http://java:166"; >java:166</a>)<br 
clear="none">at org.apache.tapestry5
 .internal.plastic.PlasticFieldImpl.replaceFieldReadAccess(PlasticFieldImpl.<a 
shape="rect" class="external-link" href="http://java:423"; >java:423</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.plastic.PlasticFieldImpl.setComputedConduit(PlasticFieldImpl.<a
 shape="rect" class="external-link" href="http://java:292"; >java:292</a>)<br 
clear="none">at 
org.apache.tapestry5.internal.transform.UnclaimedFieldWorker.transformField(UnclaimedFieldWorker.java:99)<br
 clear="none">at 
org.apache.tapestry5.internal.transform.UnclaimedFieldWorker.transform(UnclaimedFieldWorker.java:88)<br
 clear="none">at 
$ComponentClassTransformWorker2_13a0346ec83c4e9a.transform(Unknown Source)<br 
clear="none">at 
$ComponentClassTransformWorker2_13a0346ec83c4e9c.transform(Unknown Source)<br 
clear="none">at 
$ComponentClassTransformWorker2_13a0346ec83c4e7f.transform(Unknown Source)<br 
clear="none">at 
org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$3.run(ComponentInstantiatorSourceImpl.<a
 sh
 ape="rect" class="external-link" href="http://java:316"; >java:316</a>)<br 
clear="none">at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:56)<br
 clear="none">... 112 more</p><p>Notice how the operation trace at the top of 
the text succinctly explains how execution arrived at the point of failure and 
why, information that isn't captured in a stack trace.</p><p>This operation 
trace appears in the Tapestry web applications, as part of the <a shape="rect" 
href="runtime-exceptions.html">default exception report page</a>.</p><p>There 
are times, especially when tracking down startup failures, where it is useful 
to see the operations log even without explicit 
exceptions.</p><p>Enabling&#160;<strong>debug</strong> level logging for 
the&#160;<strong>org.apache.tapestry5.ioc.Registry</strong> logging category 
will provide huge volumes of output in the console:</p><pre></pre><p>[DEBUG] 
Registry [ 1] --&gt; Creating non-proxied instance of service ServiceConf
 igurationListenerHub<br clear="none">[DEBUG] Registry [ 2] --&gt; Creating 
plan to instantiate 
org.apache.tapestry5.ioc.services.ServiceConfigurationListenerHub via public 
org.apache.tapestry5.ioc.services.ServiceConfigurationListenerHub(java.util.List)<br
 clear="none">[DEBUG] Registry [ 3] --&gt; Determining injection value for 
parameter #1 (java.util.List)<br clear="none">[DEBUG] Registry [ 4] --&gt; 
Collecting ordered configuration for service ServiceConfigurationListenerHub<br 
clear="none">[DEBUG] Registry [ 5] --&gt; Invoking 
org.apache.tapestry5.ioc.FredModule.configureServiceConfigurationListener(OrderedConfiguration,
 CatchAllServiceConfigurationListener) (at FredModule.<a shape="rect" 
class="external-link" href="http://java:141"; >java:141</a>)<br 
clear="none">[DEBUG] Registry [ 6] --&gt; Determining injection value for 
parameter #1 (org.apache.tapestry5.ioc.OrderedConfiguration)<br 
clear="none">[DEBUG] Registry [ 6] &lt;-- Determining injection value for 
parameter #1 (org.ap
 ache.tapestry5.ioc.OrderedConfiguration) [0.17 ms]<br clear="none">[DEBUG] 
Registry [ 6] --&gt; Determining injection value for parameter #2 
(org.apache.tapestry5.ioc.CatchAllServiceConfigurationListener)<br 
clear="none">[DEBUG] Registry [ 7] --&gt; Creating proxy for service 
MasterObjectProvider<br clear="none">[DEBUG] Registry [ 7] &lt;-- Creating 
proxy for service MasterObjectProvider [2.82 ms]<br clear="none">[DEBUG] 
Registry [ 7] --&gt; Realizing service MasterObjectProvider<br 
clear="none">[DEBUG] Registry [ 8] --&gt; Instantiating service 
MasterObjectProvider implementation via 
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl(List, 
OperationTracker) (at MasterObjectProviderImpl.java:33) via 
org.apache.tapestry5.ioc.modules.TapestryIOCModule.bind(ServiceBinder) (at 
TapestryIOCModule.java:50)<br clear="none">[DEBUG] Registry [ 9] --&gt; 
Creating plan to instantiate 
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl via public 
org.apache.tapes
 
try5.ioc.internal.services.MasterObjectProviderImpl(java.util.List,org.apache.tapestry5.ioc.OperationTracker)<br
 clear="none">[DEBUG] Registry [ 10] --&gt; Determining injection value for 
parameter #1 (java.util.List)<br clear="none">[DEBUG] Registry [ 11] --&gt; 
Collecting ordered configuration for service MasterObjectProvider<br 
clear="none">[DEBUG] Registry [ 12] --&gt; Invoking 
org.apache.tapestry5.ioc.modules.TapestryIOCModule.setupObjectProviders(OrderedConfiguration,
 ServiceOverride) (at TapestryIOCModule.<a shape="rect" class="external-link" 
href="http://java:136"; >java:136</a>)<br clear="none">[DEBUG] Registry [ 13] 
--&gt; Determining injection value for parameter #1 
(org.apache.tapestry5.ioc.OrderedConfiguration)<br clear="none">[DEBUG] 
Registry [ 13] &lt;-- Determining injection value for parameter #1 
(org.apache.tapestry5.ioc.OrderedConfiguration) [0.17 ms]<br 
clear="none">[DEBUG] Registry [ 13] --&gt; Determining injection value for 
parameter #2 (org.apache.tapestry5.io
 c.services.ServiceOverride)<br clear="none">[DEBUG] Registry [ 14] --&gt; 
Creating proxy for service ServiceOverride<br clear="none">[DEBUG] Registry [ 
14] &lt;-- Creating proxy for service ServiceOverride [2.15 ms]<br 
clear="none">[DEBUG] Registry [ 13] &lt;-- Determining injection value for 
parameter #2 (org.apache.tapestry5.ioc.services.ServiceOverride) [2.62 ms]<br 
clear="none">[DEBUG] Registry [ 13] --&gt; Creating proxy for service 
UpdateListenerHub<br clear="none">[DEBUG] Registry [ 13] &lt;-- Creating proxy 
for service UpdateListenerHub [2.28 ms]</p><p>...</p><p>The output identifies 
operation depth (the number in square brackets), whether the operation is 
starting&#160;(&#8211;&gt;) or finishing&#160;(&lt;&#8211;), and even the 
execution time of the operation.</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/parallel-execution.html
==============================================================================
--- websites/production/tapestry/content/parallel-execution.html (original)
+++ websites/production/tapestry/content/parallel-execution.html Sat Aug  8 
18:20:03 2015
@@ -31,8 +31,6 @@
   <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
   <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
   <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
   <script type="text/javascript">
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -76,7 +74,7 @@
 </p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
 </div></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;">
-<p>&#160;</p></div>The size of the task queue. When there are at least the 
core number of threads in the pool, tasks will be placed in the queue. If the 
queue is empty, more threads may be created (up to the maximum pool size). If 
the queue is full and all threads have been created, the task is rejected (and 
exception is thrown).<p>Defaults to 100.</p></div>
+<p>&#160;</p></div>The size of the task queue. When there are at least the 
core number of threads in the pool, tasks will be placed in the queue. If the 
queue is empty, more threads may be created (up to the maximum pool size). If 
the queue is full and all threads have been created, the task is rejected (and 
exception is thrown).<p>Defaults to 100.</p><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/registry-startup.html
==============================================================================
--- websites/production/tapestry/content/registry-startup.html (original)
+++ websites/production/tapestry/content/registry-startup.html Sat Aug  8 
18:20:03 2015
@@ -31,8 +31,6 @@
   <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
   <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
   <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
   <script type="text/javascript">
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -93,7 +91,7 @@
   }
 }
 </pre>
-</div></div><p></p></div>
+</div></div><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/request-processing.html
==============================================================================
--- websites/production/tapestry/content/request-processing.html (original)
+++ websites/production/tapestry/content/request-processing.html Sat Aug  8 
18:20:03 2015
@@ -27,16 +27,6 @@
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
 
-    <link href='/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' 
type='text/css' />
-  <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
-  <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
-  <script type="text/javascript">
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all();
-  </script>
 
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -67,8 +57,73 @@
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><h1 
id="RequestProcessing-RequestProcessing">Request Processing</h1><div 
class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px">
-<div class="error"><span class="error">Error formatting macro: contentbylabel: 
com.atlassian.confluence.api.service.exceptions.BadRequestException: Could not 
parse cql : null</span> </div></div><p>Understanding the request processing 
pipeline is very important, as it is one of the chief extension points for 
Tapestry.</p><p>Much of the early stages of processing are in the form of 
extensible <a shape="rect" 
href="pipelinebuilder-service.html">pipelines</a>.</p><h2 
id="RequestProcessing-TapestryFilter">Tapestry Filter</h2><p>All incoming 
requests originate with the TapestryFilter, which is configured inside the 
application's <a shape="rect" href="configuration.html">web.xml</a>.</p><p>The 
TapestryFilter is responsible for a number of startup and initialization 
functions.</p><p>When it receives a request, the TapestryFilter obtains the <a 
shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/HttpServletRequestHandler.html";>Htt
 pServletRequestHandler</a> service, and invokes its service() method.</p><h2 
id="RequestProcessing-HttpServletRequestHandlerPipeline">HttpServletRequestHandler
 Pipeline</h2><p>This pipeline performs initial processing of the request. It 
can be extended by contributing a <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/HttpServletRequestFilter.html";>HttpServletRequestFilter</a>
 into the HttpServletRequestHandler service's configuration.</p><p>Tapestry 
does not contribute any filters into this pipeline of its own.</p><p>The 
terminator for the pipeline does two things:</p><ul><li>It stores the request 
and response into the <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/RequestGlobals.html";>RequestGlobals</a>
 service. This is a per-thread scoped service that stores 
per-thread/per-request information.</li><li>It wraps the request and response 
as a <a s
 hape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/Request.html";>Request</a>
 and <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/Response.html";>Response</a>,
 and passes them into the <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/RequestHandler.html";>RequestHandler</a>
 pipeline.</li></ul><h2 
id="RequestProcessing-RequestHandlerPipeline">RequestHandler 
Pipeline</h2><p>This pipeline is where most extensions related to requests take 
place. Request represents an abstraction on top of HttpServletRequest. 
(Primarily, this exists to bridge from the Servlet API objects to the 
corresponding Tapestry objects. This is the basis for the planned portlet 
integration for Tapestry.) Where other code and services within Tapestry 
require access to information in the request, such as query parameters, th
 at information is obtained from the Request (or Response) objects.</p><p>The 
RequestHandler pipeline includes a number of built-in 
filters:</p><ul><li>CheckForUpdates is responsible for <a shape="rect" 
href="class-reloading.html">class and template 
reloading</a>.</li><li>Localization identifies the <a shape="rect" 
href="localization.html">locale for the user</a>.</li><li>StaticFiles checks 
for URLs that are for static files (files that exist inside the web context) 
and aborts the request, so that the servlet container can handle the request 
normally.</li><li>ErrorFilter catches uncaught exceptions from the lower levels 
of Tapestry and presents the exception report page. This involves the <a 
shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/RequestExceptionHandler.html";>RequestExceptionHandler</a>
 service, which is responsible for initializing and rendering the <a 
shape="rect" class="external-link" href="http://tapestry.
 
apache.org/current/apidocs/org/apache/tapestry5/corelib/pages/ExceptionReport.html">core/ExceptionReport</a>
 page.</li></ul><p>The terminator for this pipeline stores the Request and the 
Response into RequestGlobals, then requests that the <a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/Dispatcher.html";>MasterDispatcher</a>
 service figure out how to handle the request (if it is, indeed, a Tapestry 
request).</p><h2 id="RequestProcessing-MasterDispatcherService">Master 
Dispatcher Service</h2><p>The MasterDispatcher service is a chain-of-command, 
aggregating together (in a specific order), several Dispatcher objects. Each 
Dispatcher is built to recognize and process a particular kind of URL.</p><h3 
id="RequestProcessing-RootPathDispatcher">RootPath Dispatcher</h3><p>The 
RootPath Dispatcher recognizes a request for the application root (i.e., "/") 
and handles this the same as a render request for the "Start" page. Supp
 ort for the Start page is kept for legacy purposes. Index pages are the 
correct approach.</p><h3 id="RequestProcessing-AssetDispatcher">Asset 
Dispatcher</h3><p>Requests that begin with "/assets/" are references to <a 
shape="rect" href="assets.html">asset resources</a> that are stored on the 
classpath, inside the Tapestry JARs (or perhaps inside the JAR for a component 
library). The contents of the file will be delivered to the client browser as a 
byte stream. This dispatcher also handles requests that are simply polling for 
a change to the file.</p><h3 
id="RequestProcessing-PageRenderDispatcher">PageRender Dispatcher</h3><p>Page 
render requests are requests to render a particular page. Such requests may 
include additional elements on the path, which will be treated as activation 
context (see ComponentEvent Dispatcher below). Generally speaking, the 
activation context is the primary key of some related entity object. This 
allows the page to reconstruct the state it will need to succe
 ssfully render itself.</p><p>The event handler method for the activate event 
may return a value; this is treated the same as the return value from a 
component action request; typically this will result in a redirect to another 
page. In this way, the activate event can perform simple validation at the page 
level ("can the user see this page?").</p><p>Page render URLs consist of the 
logical name of the page plus additional path elements for the activation 
context. The dispatcher here strips terms off of the path until it finds a 
known page name. Thus, "/mypage/27" would look first for a page whose name was 
"mypage/27", then look for a page name "mypage". Assuming the second search was 
successful, the page would be activated with the context "27". If no logical 
page name can be identified, control passes to the next dispatcher.</p><h3 
id="RequestProcessing-ComponentEventDispatcher">ComponentEvent 
Dispatcher</h3><p>The ComponentEvent dispatcher is used to trigger events in 
components.</
 p><p>The URL identifies the name of the page, then a series of component ids 
(the path from the page down to the specific component), then the name of the 
event to be triggered on the component. The remaining path elements are used as 
the context for the <em>event</em> (not for the page activation, which does not 
currently apply). For example, "/griddemo.FOO.BAR/3" would locate page 
"griddemo", then component "FOO.BAR", and trigger an event named "action" (the 
default event type, which is omitted from the URL), with the context 
"3".</p><p>If the page in question has an activation context, it is supplied as 
an additional query parameter on the link.</p><p>In cases where the event type 
is not the default, "action", it will appear between the nested component id 
and the event context, preceded by a colon. Example: 
"/example/foo.bar:magic/99" would trigger an event of type "magic". This is not 
common in the vanilla Tapestry framework, but will likely be more common as 
Ajax features (whi
 ch would not use the normal request logic) are implemented.</p><p>The response 
from a component action request is typically, but not universally, used to send 
a redirect to the client; the redirect URL is a page render URL to display the 
response to the event. This is detailed under <a shape="rect" 
href="page-navigation.html">Page Navigation</a>.</p><h2 
id="RequestProcessing-RequestGlobalsService">RequestGlobals Service</h2><p>The 
RequestGlobals service has a life cycle of per-thread; this means that a 
separate instance exists for every thread, and therefore, for every request. 
The terminators of the two handler pipelines store the request/response pairs 
into the RequestGlobals service.</p><h2 
id="RequestProcessing-RequestService">Request Service</h2><p>The Request 
service is a <a shape="rect" href="shadowbuilder-service.html">shadow</a> of 
the RequestGlobals services' request property. That is, any methods invoked on 
this service are delegated to the request object stored inside th
 e RequestGlobals.</p><h2 id="RequestProcessing-Overview">Overview</h2><p>The 
following diagram provides an overview of how the different pipelines, filters 
and dispatchers interact when processing an incoming request.</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-content-image-border" 
src="request-processing.data/tapestry_request_processing_800.png"></span></p></div>
+<div id="ConfluenceContent"><div class="aui-label" style="float:right" 
title="Related Articles">
+
+
+
+
+
+
+
+
+<h3>Related Articles</h3>
+
+<ul class="content-by-label"><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a shape="rect" href="page-navigation.html">Page 
Navigation</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a shape="rect" href="page-life-cycle.html">Page Life 
Cycle</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a shape="rect" 
href="component-rendering.html">Component Rendering</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a shape="rect" href="component-events.html">Component 
Events</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a shape="rect" 
href="component-events-faq.html">Component Events FAQ</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a shape="rect" href="request-processing.html">Request 
Processing</a>
+                
+                        
+                    </div>
+    </li></ul>
+</div><p><strong>Request Processing</strong> involves a sequence of steps that 
Tapestry performs when every HTTP request comes in. You <em>don't need</em> to 
know these steps to use Tapestry productively, but understanding the request 
processing pipeline is helpful if you want to understand Tapestry 
deeply.</p><p>Much of the early stages of processing are in the form of 
extensible <a shape="rect" 
href="pipelinebuilder-service.html">pipelines</a>.</p><h2 
id="RequestProcessing-TapestryFilter">Tapestry Filter</h2><p>All incoming 
requests originate with the TapestryFilter, which is a servlet filter 
configured inside your application's <a shape="rect" 
href="configuration.html">web.xml</a>.</p><p>The TapestryFilter is responsible 
for a number of startup and initialization functions.</p><p>When it receives a 
request, the TapestryFilter obtains the <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/HttpServletRequestHandler.h
 tml">HttpServletRequestHandler</a> service, and invokes its service() 
method.</p><h2 
id="RequestProcessing-HttpServletRequestHandlerPipeline">HttpServletRequestHandler
 Pipeline</h2><p>This pipeline performs initial processing of the request. It 
can be extended by contributing a <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/HttpServletRequestFilter.html";>HttpServletRequestFilter</a>
 into the HttpServletRequestHandler service's configuration.</p><p>Tapestry 
does not contribute any filters into this pipeline of its own.</p><p>The 
terminator for the pipeline does two things:</p><ul><li>It stores the request 
and response into the <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/RequestGlobals.html";>RequestGlobals</a>
 service. This is a per-thread scoped service that stores 
per-thread/per-request information.</li><li>It wraps the request and response a
 s a <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/Request.html";>Request</a>
 and <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/Response.html";>Response</a>,
 and passes them into the <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/RequestHandler.html";>RequestHandler</a>
 pipeline.</li></ul><h2 
id="RequestProcessing-RequestHandlerPipeline">RequestHandler 
Pipeline</h2><p>This pipeline is where most extensions related to requests take 
place. Request represents an abstraction on top of HttpServletRequest. 
(Primarily, this exists to bridge from the Servlet API objects to the 
corresponding Tapestry objects. This is the basis for the planned portlet 
integration for Tapestry.) Where other code and services within Tapestry 
require access to information in the request, such as query parame
 ters, that information is obtained from the Request (or Response) 
objects.</p><p>The RequestHandler pipeline includes a number of built-in 
filters:</p><ul><li>CheckForUpdates is responsible for <a shape="rect" 
href="class-reloading.html">class and template 
reloading</a>.</li><li>Localization identifies the <a shape="rect" 
href="localization.html">locale for the user</a>.</li><li>StaticFiles checks 
for URLs that are for static files (files that exist inside the web context) 
and aborts the request, so that the servlet container can handle the request 
normally.</li><li>ErrorFilter catches uncaught exceptions from the lower levels 
of Tapestry and presents the exception report page. This involves the <a 
shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/RequestExceptionHandler.html";>RequestExceptionHandler</a>
 service, which is responsible for initializing and rendering the <a 
shape="rect" class="external-link" href="http://t
 
apestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/pages/ExceptionReport.html">core/ExceptionReport</a>
 page.</li></ul><p>The terminator for this pipeline stores the Request and the 
Response into RequestGlobals, then requests that the <a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/Dispatcher.html";>MasterDispatcher</a>
 service figure out how to handle the request (if it is, indeed, a Tapestry 
request).</p><h2 id="RequestProcessing-MasterDispatcherService">Master 
Dispatcher Service</h2><p>The MasterDispatcher service is a chain-of-command, 
aggregating together (in a specific order), several Dispatcher objects. Each 
Dispatcher is built to recognize and process a particular kind of URL.</p><h3 
id="RequestProcessing-RootPathDispatcher">RootPath Dispatcher</h3><p>The 
RootPath Dispatcher recognizes a request for the application root (i.e., "/") 
and handles this the same as a render request for the "Start" pa
 ge. Support for the Start page is kept for legacy purposes. Index pages are 
the correct approach.</p><h3 id="RequestProcessing-AssetDispatcher">Asset 
Dispatcher</h3><p>Requests that begin with "/assets/" are references to <a 
shape="rect" href="assets.html">asset resources</a> that are stored on the 
classpath, inside the Tapestry JARs (or perhaps inside the JAR for a component 
library). The contents of the file will be delivered to the client browser as a 
byte stream. This dispatcher also handles requests that are simply polling for 
a change to the file.</p><h3 
id="RequestProcessing-PageRenderDispatcher">PageRender Dispatcher</h3><p>Page 
render requests are requests to render a particular page. Such requests may 
include additional elements on the path, which will be treated as activation 
context (see ComponentEvent Dispatcher below). Generally speaking, the 
activation context is the primary key of some related entity object. This 
allows the page to reconstruct the state it will need 
 to successfully render itself.</p><p>The event handler method for the activate 
event may return a value; this is treated the same as the return value from a 
component action request; typically this will result in a redirect to another 
page. In this way, the activate event can perform simple validation at the page 
level ("can the user see this page?").</p><p>Page render URLs consist of the 
logical name of the page plus additional path elements for the activation 
context. The dispatcher here strips terms off of the path until it finds a 
known page name. Thus, "/mypage/27" would look first for a page whose name was 
"mypage/27", then look for a page name "mypage". Assuming the second search was 
successful, the page would be activated with the context "27". If no logical 
page name can be identified, control passes to the next dispatcher.</p><h3 
id="RequestProcessing-ComponentEventDispatcher">ComponentEvent 
Dispatcher</h3><p>The ComponentEvent dispatcher is used to trigger events in 
compo
 nents.</p><p>The URL identifies the name of the page, then a series of 
component ids (the path from the page down to the specific component), then the 
name of the event to be triggered on the component. The remaining path elements 
are used as the context for the <em>event</em> (not for the page activation, 
which does not currently apply). For example, "/griddemo.FOO.BAR/3" would 
locate page "griddemo", then component "FOO.BAR", and trigger an event named 
"action" (the default event type, which is omitted from the URL), with the 
context "3".</p><p>If the page in question has an activation context, it is 
supplied as an additional query parameter on the link.</p><p>In cases where the 
event type is not the default, "action", it will appear between the nested 
component id and the event context, preceded by a colon. Example: 
"/example/foo.bar:magic/99" would trigger an event of type "magic". This is not 
common in the vanilla Tapestry framework, but will likely be more common as 
Ajax featu
 res (which would not use the normal request logic) are implemented.</p><p>The 
response from a component action request is typically, but not universally, 
used to send a redirect to the client; the redirect URL is a page render URL to 
display the response to the event. This is detailed under <a shape="rect" 
href="page-navigation.html">Page Navigation</a>.</p><h2 
id="RequestProcessing-RequestGlobalsService">RequestGlobals Service</h2><p>The 
RequestGlobals service has a life cycle of per-thread; this means that a 
separate instance exists for every thread, and therefore, for every request. 
The terminators of the two handler pipelines store the request/response pairs 
into the RequestGlobals service.</p><h2 
id="RequestProcessing-RequestService">Request Service</h2><p>The Request 
service is a <a shape="rect" href="shadowbuilder-service.html">shadow</a> of 
the RequestGlobals services' request property. That is, any methods invoked on 
this service are delegated to the request object stored i
 nside the RequestGlobals.</p><h2 
id="RequestProcessing-Overview">Overview</h2><p>The following diagram provides 
an overview of how the different pipelines, filters and dispatchers interact 
when processing an incoming request.</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-content-image-border" 
src="request-processing.data/tapestry_request_processing_800.png"></span></p></div>
 </div>
 
 <div class="clearer"></div>


Reply via email to