[jboss-svn-commits] JBL Code SVN: r28151 - in labs/jbossrules/trunk/drools-core/src: main/java/org/drools/time/impl and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jul 17 12:10:03 EDT 2009


Author: tirelli
Date: 2009-07-17 12:10:03 -0400 (Fri, 17 Jul 2009)
New Revision: 28151

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/timer/TimerManager.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/time/impl/JDKTimerServiceTest.java
Log:
JBRULES-2211: Preliminary fix for the JDK timer service shutdown. Long term fix will be implemented as another ticket, with proper pool sharing

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/timer/TimerManager.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/timer/TimerManager.java	2009-07-17 16:09:01 UTC (rev 28150)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/timer/TimerManager.java	2009-07-17 16:10:03 UTC (rev 28151)
@@ -93,6 +93,7 @@
     	for (TimerInstance timer: timers.values()) {
     		timerService.removeJob( timer.getJobHandle() );
     	}
+    	timerService.shutdown();
     }
     
     public TimerService getTimerService() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java	2009-07-17 16:09:01 UTC (rev 28150)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java	2009-07-17 16:10:03 UTC (rev 28151)
@@ -58,7 +58,10 @@
     }
     
     public void shutdown() {
-        this.scheduler.shutdown();
+        // forcing a shutdownNow instead of a regular shutdown()
+        // to avoid delays on shutdown. This is an irreversible 
+        // operation anyway, called on session dispose.
+        this.scheduler.shutdownNow();
     }
 
     public JobHandle scheduleJob(Job job,
@@ -166,7 +169,6 @@
     }
 
     public long getTimeToNextJob() {
-        // TODO Auto-generated method stub
         return 0;
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/time/impl/JDKTimerServiceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/time/impl/JDKTimerServiceTest.java	2009-07-17 16:09:01 UTC (rev 28150)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/time/impl/JDKTimerServiceTest.java	2009-07-17 16:10:03 UTC (rev 28151)
@@ -26,6 +26,7 @@
         HelloWorldJobContext ctx = new HelloWorldJobContext( "hello world", timeService);
         timeService.scheduleJob( new HelloWorldJob(), ctx,  trigger);        
         Thread.sleep( 500 );
+        timeService.shutdown();
         assertEquals( 1, ctx.getList().size() ); 
     }    
     
@@ -35,7 +36,7 @@
         HelloWorldJobContext ctx = new HelloWorldJobContext( "hello world", timeService);
         timeService.scheduleJob( new HelloWorldJob(), ctx,  trigger);        
         Thread.sleep( 500 );
-        
+        timeService.shutdown();
         assertEquals( 3, ctx.getList().size() );
     }    
         
@@ -47,7 +48,7 @@
 		ctx.setLimit( 3 );
 		timeService.scheduleJob( new HelloWorldJob(), ctx,  trigger);		
 		Thread.sleep( 1000 );
-		
+        timeService.shutdown();
 		assertEquals( 4, ctx.getList().size() );
 	}
 	



More information about the jboss-svn-commits mailing list