You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2008/04/21 22:45:34 UTC

svn commit: r650251 - in /geronimo/sandbox/concurrent: geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/executor/ geronimo-concurrent/src/main/java/org/a...

Author: gawor
Date: Mon Apr 21 13:45:11 2008
New Revision: 650251

URL: http://svn.apache.org/viewvc?rev=650251&view=rev
Log:
created more generic thread lifecycle listener interface

Added:
    geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadLifecycleListener.java
      - copied, changed from r650242, geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadStoppedListener.java
Removed:
    geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadStoppedListener.java
Modified:
    geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/AbstractManagedThreadFactory.java
    geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ManagedThread.java
    geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/executor/ServerManagedThreadFactory.java
    geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/GeronimoManagedThread.java
    geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/StandaloneManagedThreadFactory.java

Modified: geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/AbstractManagedThreadFactory.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/AbstractManagedThreadFactory.java?rev=650251&r1=650250&r2=650251&view=diff
==============================================================================
--- geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/AbstractManagedThreadFactory.java (original)
+++ geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/AbstractManagedThreadFactory.java Mon Apr 21 13:45:11 2008
@@ -27,7 +27,7 @@
 import org.apache.commons.logging.LogFactory;
 
 public class AbstractManagedThreadFactory 
-    implements ManagedThreadFactory, ThreadStoppedListener {
+    implements ManagedThreadFactory, ThreadLifecycleListener {
 
     private final static Log LOG = LogFactory.getLog(AbstractManagedThreadFactory.class);
     
@@ -114,6 +114,9 @@
 
     protected ManagedThread createThread(ThreadGroup group, Runnable runnable, String name) {
         return new ManagedThread(group, runnable, name, this);
+    }
+    
+    public void threadStarted(Thread thread) {        
     }
     
     public void threadStopped(Thread thread) {        

Modified: geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ManagedThread.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ManagedThread.java?rev=650251&r1=650250&r2=650251&view=diff
==============================================================================
--- geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ManagedThread.java (original)
+++ geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ManagedThread.java Mon Apr 21 13:45:11 2008
@@ -31,7 +31,7 @@
     }
     
     // thread-specific properties
-    protected ThreadStoppedListener threadStoppedListener;            
+    protected ThreadLifecycleListener threadLifecycleListener;            
     protected long hungTaskThreshold; 
     
     // task-specific properties
@@ -41,21 +41,21 @@
     protected TaskState state;
        
     public ManagedThread(Runnable runnable, 
-                         ThreadStoppedListener threadStoppedListener) {
+                         ThreadLifecycleListener threadLifecycleListener) {
         super(runnable);
-        setThreadStoppedListener(threadStoppedListener);
+        setThreadLifecycleListener(threadLifecycleListener);
     }
     
     public ManagedThread(ThreadGroup group,
                          Runnable runnable, 
                          String name,
-                         ThreadStoppedListener threadStoppedListener) {
+                         ThreadLifecycleListener threadLifecycleListener) {
         super(group, runnable, name);
-        setThreadStoppedListener(threadStoppedListener);
+        setThreadLifecycleListener(threadLifecycleListener);
     }
     
-    public void setThreadStoppedListener(ThreadStoppedListener threadStoppedListener) {
-        this.threadStoppedListener = threadStoppedListener;
+    public void setThreadLifecycleListener(ThreadLifecycleListener threadLifecycleListener) {
+        this.threadLifecycleListener = threadLifecycleListener;
     }
     
     /**
@@ -99,11 +99,16 @@
         this.taskIdentityDescription = null;
     }
          
+    public void start() {
+        super.start();
+        this.threadLifecycleListener.threadStarted(this);
+    }
+    
     public void run() {
         try {
             super.run();
         } finally {
-            this.threadStoppedListener.threadStopped(this);
+            this.threadLifecycleListener.threadStopped(this);
         }
     }
     

Copied: geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadLifecycleListener.java (from r650242, geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadStoppedListener.java)
URL: http://svn.apache.org/viewvc/geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadLifecycleListener.java?p2=geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadLifecycleListener.java&p1=geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadStoppedListener.java&r1=650242&r2=650251&rev=650251&view=diff
==============================================================================
--- geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadStoppedListener.java (original)
+++ geronimo/sandbox/concurrent/geronimo-concurrent-core/src/main/java/org/apache/geronimo/concurrent/thread/ThreadLifecycleListener.java Mon Apr 21 13:45:11 2008
@@ -16,8 +16,10 @@
  */
 package org.apache.geronimo.concurrent.thread;
 
-public interface ThreadStoppedListener {
+public interface ThreadLifecycleListener {
 
+    void threadStarted(Thread thread);
+    
     void threadStopped(Thread thread);
     
 }

Modified: geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/executor/ServerManagedThreadFactory.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/executor/ServerManagedThreadFactory.java?rev=650251&r1=650250&r2=650251&view=diff
==============================================================================
--- geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/executor/ServerManagedThreadFactory.java (original)
+++ geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/executor/ServerManagedThreadFactory.java Mon Apr 21 13:45:11 2008
@@ -28,7 +28,7 @@
 import org.apache.geronimo.concurrent.impl.thread.GeronimoManagedThreadFactory;
 import org.apache.geronimo.concurrent.impl.thread.ManagedThreadGBean;
 import org.apache.geronimo.concurrent.thread.ManagedThread;
-import org.apache.geronimo.concurrent.thread.ThreadStoppedListener;
+import org.apache.geronimo.concurrent.thread.ThreadLifecycleListener;
 import org.apache.geronimo.management.ManagedConstants;
 
 /**
@@ -36,7 +36,7 @@
  * ServerManagedExecutorService or ServerManagedScheduledExecutorService.
  */
 public class ServerManagedThreadFactory 
-    implements ManagedThreadFactory, ThreadStoppedListener {
+    implements ManagedThreadFactory, ThreadLifecycleListener {
 
     private GeronimoManagedThreadFactory factory;
     private NotificationHelper notificationHelper;
@@ -63,7 +63,7 @@
         GeronimoManagedThread thread = (GeronimoManagedThread)this.factory.newThread(runnable); 
         
         // set listener so that this class gets notifications of thread stop
-        thread.setThreadStoppedListener(this);
+        thread.setThreadLifecycleListener(this);
                 
         this.threads.add(thread);
         
@@ -73,6 +73,10 @@
         return thread;
     }
             
+    public void threadStarted(Thread thread) {
+        this.factory.threadStarted(thread);
+    }
+    
     public void threadStopped(Thread thread) {
         this.threads.remove(thread);
         this.factory.threadStopped(thread);

Modified: geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/GeronimoManagedThread.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/GeronimoManagedThread.java?rev=650251&r1=650250&r2=650251&view=diff
==============================================================================
--- geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/GeronimoManagedThread.java (original)
+++ geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/GeronimoManagedThread.java Mon Apr 21 13:45:11 2008
@@ -17,7 +17,7 @@
 package org.apache.geronimo.concurrent.impl.thread;
 
 import org.apache.geronimo.concurrent.thread.ManagedThread;
-import org.apache.geronimo.concurrent.thread.ThreadStoppedListener;
+import org.apache.geronimo.concurrent.thread.ThreadLifecycleListener;
 
 public class GeronimoManagedThread extends ManagedThread {
     
@@ -27,8 +27,8 @@
     public GeronimoManagedThread(ThreadGroup group,
                                  Runnable runnable, 
                                  String name,
-                                 ThreadStoppedListener threadStoppedListener) {
-        super(group, runnable, name, threadStoppedListener);
+                                 ThreadLifecycleListener threadLifecycleListener) {
+        super(group, runnable, name, threadLifecycleListener);
     }
 
     public ManagedThreadGBean getGbean() {

Modified: geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/StandaloneManagedThreadFactory.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/StandaloneManagedThreadFactory.java?rev=650251&r1=650250&r2=650251&view=diff
==============================================================================
--- geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/StandaloneManagedThreadFactory.java (original)
+++ geronimo/sandbox/concurrent/geronimo-concurrent/src/main/java/org/apache/geronimo/concurrent/impl/thread/StandaloneManagedThreadFactory.java Mon Apr 21 13:45:11 2008
@@ -28,14 +28,14 @@
 import org.apache.geronimo.concurrent.ManagedContextHandler;
 import org.apache.geronimo.concurrent.thread.ManagedRunnable;
 import org.apache.geronimo.concurrent.thread.ManagedThread;
-import org.apache.geronimo.concurrent.thread.ThreadStoppedListener;
+import org.apache.geronimo.concurrent.thread.ThreadLifecycleListener;
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.kernel.KernelRegistry;
 import org.apache.geronimo.kernel.lifecycle.LifecycleListener;
 
-public class StandaloneManagedThreadFactory implements ManagedThreadFactory, ThreadStoppedListener {
+public class StandaloneManagedThreadFactory implements ManagedThreadFactory, ThreadLifecycleListener {
 
     private GeronimoManagedThreadFactory threadFactory;    
     private ManagedContextHandler contextHandler;
@@ -67,6 +67,10 @@
 
     protected boolean isRunning() {
         return this.moduleLifecyleListener.isRunning();
+    }
+    
+    public void threadStarted(Thread thread) {       
+        this.threadFactory.threadStarted(thread);
     }
     
     public void threadStopped(Thread thread) {