[jboss-svn-commits] JBL Code SVN: r12348 - in labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb: mock and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 5 20:09:38 EDT 2007


Author: kevin.conner at jboss.com
Date: 2007-06-05 20:09:38 -0400 (Tue, 05 Jun 2007)
New Revision: 12348

Modified:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/mock/MockListener.java
Log:
Fixed executor shutdown: JBESB-605

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java	2007-06-05 22:02:55 UTC (rev 12347)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java	2007-06-06 00:09:38 UTC (rev 12348)
@@ -252,8 +252,6 @@
                     waitForEventAndProcess(100) ;
                 }
             }
-            if (null != _execService)
-                _execService.shutdown();
 
             if (_logger.isDebugEnabled())
             {
@@ -293,25 +291,17 @@
 
 		if (null != message)
 		{
-			try
-			{
-                            final Runnable pipelineRunner = new Runnable() {
-                                public void run() {
-                                    try {
-                                        pipeline.process(message) ;
-                                    } finally {
-                                        updateThreadCount(-1) ;
-                                    }
-                                }
-                            } ;
-                            updateThreadCount(+1);
-                            _execService.execute(pipelineRunner);
-			}
-			catch (Exception e)
-			{
-				_logger.error("ActionProcessingPipeline exception", e);
-				return;
-			}
+                    final Runnable pipelineRunner = new Runnable() {
+                        public void run() {
+                            try {
+                                pipeline.process(message) ;
+                            } finally {
+                                updateThreadCount(-1) ;
+                            }
+                        }
+                    } ;
+                    updateThreadCount(+1);
+                    _execService.execute(pipelineRunner);
 		}
 
 	} // ________________________________
@@ -324,8 +314,17 @@
         protected void doDestroy()
             throws ManagedLifecycleException
         {
-            checkExecutorTermination() ;
+            if (!waitForRunningStateChange(ManagedLifecycleThreadState.STOPPED, getTerminationPeriod()))
+            {
+                throw new ManagedLifecycleException("Failed to reach STOPPED state within specified termination period") ;
+            }
             
+            if (_execService != null)
+            {
+                _execService.shutdown() ;
+                checkExecutorTermination() ;
+            }
+            
             pipeline.destroy() ;
             pipeline = null ;
             

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/mock/MockListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/mock/MockListener.java	2007-06-05 22:02:55 UTC (rev 12347)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/mock/MockListener.java	2007-06-06 00:09:38 UTC (rev 12348)
@@ -47,12 +47,6 @@
     }
 
     protected void doStop() throws ManagedLifecycleException {
-        // Some form of concurrency issue here.  We need something like this sleep to stop the controller locking up...
-        try {
-            Thread.sleep(1000);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
     }
 
     protected void doDestroy() throws ManagedLifecycleException {




More information about the jboss-svn-commits mailing list