You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gi...@apache.org on 2004/11/07 15:11:01 UTC

svn commit: rev 56849 - cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers

Author: giacomo
Date: Sun Nov  7 06:11:00 2004
New Revision: 56849

Modified:
   cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/DefaultIncludeCacheManager.java
Log:
migrated to the RunnableManager package

Modified: cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/DefaultIncludeCacheManager.java
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/DefaultIncludeCacheManager.java	(original)
+++ cocoon/trunk/src/java/org/apache/cocoon/transformation/helpers/DefaultIncludeCacheManager.java	Sun Nov  7 06:11:00 2004
@@ -33,6 +33,7 @@
 import org.apache.cocoon.components.sax.XMLSerializer;
 import org.apache.cocoon.components.sax.XMLTeePipe;
 import org.apache.cocoon.components.source.SourceUtil;
+import org.apache.cocoon.components.thread.RunnableManager;
 import org.apache.cocoon.xml.XMLConsumer;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceException;
@@ -106,10 +107,17 @@
                     if (this.getLogger().isDebugEnabled()) {
                         this.getLogger().debug("Booting preemptive loader: " + this.preemptiveLoaderURI);
                     }
-                    PreemptiveBooter thread = new PreemptiveBooter();
-                    thread.setURI(this.preemptiveLoaderURI);
-                    thread.start();
-                    Thread.yield();
+                    PreemptiveBooter thread = new PreemptiveBooter( this.preemptiveLoaderURI );
+                    try
+                    {
+                        final RunnableManager runnableManager = (RunnableManager)this.manager.lookup( RunnableManager.ROLE );
+                        runnableManager.execute( thread );
+                        this.manager.release( runnableManager );
+                    }
+                    catch( final ServiceException se )
+                    {
+                        getLogger().error( "Cannot lookup RunnableManager", se );
+                    }
                 }
             }
         } 
@@ -446,11 +454,12 @@
     
 }
 
-final class PreemptiveBooter extends Thread {
+final class PreemptiveBooter implements Runnable {
 
-    private String uri;
-    
-    void setURI(String uri) {
+    private final String uri;
+
+    public PreemptiveBooter( final String uri )
+    {
         this.uri = uri;
     }