Author: seanahn
Date: Fri Jun 12 00:58:59 2009
New Revision: 783964
URL: http://svn.apache.org/viewvc?rev=783964&view=rev
Log:
seems tests sometimes fail without cleaning up the listeners array
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/CronScheduler.java
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/CronScheduler.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/CronScheduler.java?rev=783964&r1=783963&r2=783964&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/CronScheduler.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/CronScheduler.java
Fri Jun 12 00:58:59 2009
@@ -54,6 +54,18 @@
public void shutdown() {
_shuttingDown = true;
_schedulerTimer.cancel();
+
+ for( TerminationListener listener : _systemTerminationListeners ) {
+ listener.terminate();
+ }
+ _systemTerminationListeners.clear();
+
+ for( Collection<TerminationListener> listeners :
_terminationListenersByPid.values() ) {
+ for( TerminationListener listener : listeners ) {
+ listener.terminate();
+ }
+ }
+ _terminationListenersByPid.clear();
}
public void cancelProcessCronJobs(QName pid, boolean undeployed) {
@@ -66,6 +78,7 @@
Collection<TerminationListener> listeners =
_terminationListenersByPid.get(pid);
if( listeners != null ) {
listenersToTerminate.addAll(listeners);
+ listeners.clear();
}
if( undeployed ) {
_terminationListenersByPid.remove(pid);