[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