Author: buildbot
Date: Mon Apr 29 16:20:47 2013
New Revision: 860308

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/tapestry-inversion-of-control-faq.html

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

Modified: 
websites/production/tapestry/content/tapestry-inversion-of-control-faq.html
==============================================================================
--- websites/production/tapestry/content/tapestry-inversion-of-control-faq.html 
(original)
+++ websites/production/tapestry/content/tapestry-inversion-of-control-faq.html 
Mon Apr 29 16:20:47 2013
@@ -72,10 +72,6 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <div class="navmenu" style="float:right; background:#eee; margin:3px; 
padding:3px"><table class="tableview" width="100%"><tr><th colspan="1" 
rowspan="1" style="padding: 3px 3px 3px 0px">Related Articles</th></tr><tr><td 
colspan="1" rowspan="1">
                                  <span class="icon icon-page" 
title="Page">Page:</span>
-                         <a shape="rect" 
href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control 
FAQ</a>
-        
-                                            </td></tr><tr><td colspan="1" 
rowspan="1">
-                                 <span class="icon icon-page" 
title="Page">Page:</span>
                          <a shape="rect" href="ioc.html">IoC</a>
         
                                             </td></tr><tr><td colspan="1" 
rowspan="1">
@@ -86,6 +82,10 @@ table.ScrollbarTable td.ScrollbarNextIco
                                  <span class="icon icon-page" 
title="Page">Page:</span>
                          <a shape="rect" 
href="tapestry-ioc-overview.html">Tapestry IoC Overview</a>
         
+                                            </td></tr><tr><td colspan="1" 
rowspan="1">
+                                 <span class="icon icon-page" 
title="Page">Page:</span>
+                         <a shape="rect" 
href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control 
FAQ</a>
+        
                                             </td></tr></table>
 </div>
 
@@ -107,7 +107,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java">
-<span class="code-keyword">public</span> class MyServiceImpl <span 
class="code-keyword">implements</span> MyService, RegistryShutdownListener
+<span class="code-keyword">public</span> class MyServiceImpl <span 
class="code-keyword">implements</span> MyService
 {
   <span class="code-keyword">private</span> <span 
class="code-object">boolean</span> shuttingDown;
 
@@ -123,15 +123,16 @@ table.ScrollbarTable td.ScrollbarNextIco
   @PostInjection
   <span class="code-keyword">public</span> void 
startupService(RegistryShutdownHub shutdownHub)
   {
-    shutdownHub.addRegistryShutdownListener(<span 
class="code-keyword">this</span>);
+    shutdownHub.addRegistryShutdownListener(<span 
class="code-keyword">new</span> <span class="code-object">Runnable</span>()
+    {
+      <span class="code-keyword">public</span> void run() 
+      {
+        shuttingDown = <span class="code-keyword">true</span>;
+
+        workerThread.interrupt();
+      }
+    });
   }
-
-  <span class="code-keyword">public</span> void registryDidShutdown()
-  {
-    shuttingDown = <span class="code-keyword">true</span>;
-
-    workerThread.interrupt();
-  } 
 }
 </pre>
 </div></div>
@@ -144,6 +145,14 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col 
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" 
valign="top"><img align="middle" src="/images/confluence/warning.gif" 
width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Be 
careful not to invoke methods on any service proxy objects as they will also be 
shutting down with the Registry. A RegistryShutdownListener should not be 
reliant on anything outside of itself.</td></tr></table></div>
 
+<h3><a shape="rect" 
name="TapestryInversionofControlFAQ-HowdoImakemyservicestartupwiththerestoftheapplication%2Cratherthanlazily%3F"></a>How
 do I make my service startup with the rest of the application, rather than 
lazily?</h3>
+
+<p>Tapestry services are designed to be <em>lazy</em>; they are only fully 
realized when needed: when the first method on the service interface is 
invoked.</p>
+
+<p>Sometimes a service does extra work that is desirable at application 
startup: examples may be registering message handlers with a JMS 
implementation, or setting up indexing.  Since the service's constructor (or <a 
shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/PostInjection.html";>@PostInjection</a>
 methods) are not invoked until the service is realized.</p>
+
+<p>The solution is the <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/EagerLoad.html";>@EagerLoad</a>
 annotation; service implementation classes marked with this annotation are 
loaded when the Registry is first startup, rather than lazily.</p>
+
 <style type="text/css">/*<![CDATA[*/
 table.ScrollbarTable  {border: none;padding: 3px;width: 100%;padding: 
3px;margin: 0px;background-color: #f0f0f0}
 table.ScrollbarTable td.ScrollbarPrevIcon {text-align: center;width: 
16px;border: none;}


Reply via email to