You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by sa...@apache.org on 2015/11/06 11:51:16 UTC
[21/30] ode git commit: Implement ClusterLock using java generics
Implement ClusterLock using java generics
Project: http://git-wip-us.apache.org/repos/asf/ode/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/dfb500c0
Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/dfb500c0
Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/dfb500c0
Branch: refs/heads/ODE-563
Commit: dfb500c081277bb30b806e6d33468bea1f612533
Parents: cfa4a97
Author: suba <su...@cse.mrt.ac.lk>
Authored: Sun Jul 12 19:19:06 2015 +0530
Committer: suba <su...@cse.mrt.ac.lk>
Committed: Sun Jul 12 19:19:06 2015 +0530
----------------------------------------------------------------------
.../ode/axis2/deploy/DeploymentPoller.java | 8 ++--
.../ode/axis2/service/DeploymentWebService.java | 8 ++--
.../org/apache/ode/bpel/clapi/ClusterLock.java | 30 ++++++++----
.../apache/ode/bpel/clapi/ClusterManager.java | 4 +-
.../bpel/iapi/AbstractInstanceLockManager.java | 37 ---------------
.../apache/ode/bpel/engine/BpelEngineImpl.java | 24 ++--------
.../ode/bpel/engine/InstanceLockManager.java | 22 ++++++++-
.../hazelcast/HazelcastClusterImpl.java | 14 +++---
.../hazelcast/HazelcastDeploymentLock.java | 19 ++++----
.../hazelcast/HazelcastInstanceLock.java | 50 +++++++-------------
.../ode/scheduler/simple/SimpleScheduler.java | 33 ++++---------
11 files changed, 97 insertions(+), 152 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/axis2/src/main/java/org/apache/ode/axis2/deploy/DeploymentPoller.java
----------------------------------------------------------------------
diff --git a/axis2/src/main/java/org/apache/ode/axis2/deploy/DeploymentPoller.java b/axis2/src/main/java/org/apache/ode/axis2/deploy/DeploymentPoller.java
index 98f5f82..baa790b 100644
--- a/axis2/src/main/java/org/apache/ode/axis2/deploy/DeploymentPoller.java
+++ b/axis2/src/main/java/org/apache/ode/axis2/deploy/DeploymentPoller.java
@@ -369,15 +369,15 @@ public class DeploymentPoller {
if(clusterEnabled) {
ClusterLock clusterLock = _odeServer.getBpelServer().getContexts().clusterManager.getDeploymentLock();
clusterLock.putIfAbsent(key,key);
- return clusterLock.tryLockMap(key);
+ return clusterLock.tryLock(key);
}
else return true;
}
private boolean unlock(String key) {
- if(clusterEnabled) {
- return _odeServer.getBpelServer().getContexts().clusterManager.getDeploymentLock().unlockMap(key);
+ if (clusterEnabled) {
+ _odeServer.getBpelServer().getContexts().clusterManager.getDeploymentLock().unlock(key);
}
- else return true;
+ return true;
}
}
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
----------------------------------------------------------------------
diff --git a/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java b/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
index 7e4b347..61bf00d 100644
--- a/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
+++ b/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
@@ -389,9 +389,9 @@ public class DeploymentWebService {
if(clusterEnabled) {
ClusterLock clusterLock = _odeServer.getBpelServer().getContexts().clusterManager.getDeploymentLock();
clusterLock.putIfAbsent(key,key);
- return clusterLock.lockMap(key);
+ clusterLock.lock(key);
}
- else return true;
+ return true;
}
/**
@@ -399,8 +399,8 @@ public class DeploymentWebService {
*/
private boolean unlock(String key) {
if(clusterEnabled) {
- return _odeServer.getBpelServer().getContexts().clusterManager.getDeploymentLock().unlockMap(key);
+ _odeServer.getBpelServer().getContexts().clusterManager.getDeploymentLock().unlock(key);
}
- else return true;
+ return true;
}
}
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterLock.java
----------------------------------------------------------------------
diff --git a/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterLock.java b/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterLock.java
index 118b275..9c9683f 100644
--- a/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterLock.java
+++ b/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterLock.java
@@ -20,29 +20,38 @@ package org.apache.ode.bpel.clapi;
import java.util.concurrent.TimeUnit;
-public interface ClusterLock {
+public interface ClusterLock<E> {
/**
- * Acquire the lock for each file in the file system
+ * Acquire the lock for specified key
*
* @param key
* @return
*/
- boolean lockMap(String key);
+ void lock(E key);
/**
- * Release the lock acquired by each file
+ * Acquire the lock for specified key and time period
+ *
+ *
+ * @param key
+ * @return
+ */
+ void lock(E key,int time,TimeUnit tu) throws InterruptedException, TimeoutException;
+
+ /**
+ * Release the lock acquired for specified key
*
* @param key
* @return
*/
- boolean unlockMap(String key);
+ void unlock(E key);
/**
* Tries to acquire the lock for the specified key
* @param key
* @return
*/
- boolean tryLockMap(String key);
+ boolean tryLock(E key);
/**
* Tries to acquire the lock for the specified key and time period.
@@ -51,12 +60,17 @@ public interface ClusterLock {
* @param tu
* @return
*/
- boolean tryLockMap(String key, int time, TimeUnit tu);
+ boolean tryLock(E key, int time, TimeUnit tu);
/**
* Check whether the map has a value for given key, if absent put the value to map
* @param key
* @param keyVal
*/
- void putIfAbsent(String key, String keyVal);
+ void putIfAbsent(E key, E keyVal);
+
+ /** Exception class indicating a time-out occured while obtaining a lock. */
+ public static final class TimeoutException extends Exception {
+ private static final long serialVersionUID = 7247629086692580285L;
+ }
}
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterManager.java
----------------------------------------------------------------------
diff --git a/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterManager.java b/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterManager.java
index d73810d..70d7c03 100644
--- a/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterManager.java
+++ b/bpel-api/src/main/java/org/apache/ode/bpel/clapi/ClusterManager.java
@@ -18,8 +18,6 @@
*/
package org.apache.ode.bpel.clapi;
-import org.apache.ode.bpel.iapi.AbstractInstanceLockManager;
-
import java.io.File;
public interface ClusterManager {
@@ -66,5 +64,5 @@ public interface ClusterManager {
/**
* Return instance lock for cluster
*/
- AbstractInstanceLockManager getInstanceLock();
+ ClusterLock getInstanceLock();
}
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/bpel-api/src/main/java/org/apache/ode/bpel/iapi/AbstractInstanceLockManager.java
----------------------------------------------------------------------
diff --git a/bpel-api/src/main/java/org/apache/ode/bpel/iapi/AbstractInstanceLockManager.java b/bpel-api/src/main/java/org/apache/ode/bpel/iapi/AbstractInstanceLockManager.java
deleted file mode 100644
index b53ac65..0000000
--- a/bpel-api/src/main/java/org/apache/ode/bpel/iapi/AbstractInstanceLockManager.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.ode.bpel.iapi;
-
-import java.util.concurrent.TimeUnit;
-
-/**
- * Abstract class to implement an instance lock manager
- */
-public abstract class AbstractInstanceLockManager {
- public abstract void unlock(Long iid);
-
- public abstract void lock(Long iid, int i, TimeUnit microseconds) throws InterruptedException,
- TimeoutException;
-
- /** Exception class indicating a time-out occured while obtaining a lock. */
- public static final class TimeoutException extends Exception {
- private static final long serialVersionUID = 7247629086692580285L;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
----------------------------------------------------------------------
diff --git a/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java b/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
index fe38cf0..feb4cd1 100644
--- a/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
+++ b/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
@@ -21,22 +21,12 @@ package org.apache.ode.bpel.engine;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.ode.bpel.clapi.ClusterLock;
import org.apache.ode.bpel.dao.MessageExchangeDAO;
import org.apache.ode.bpel.dao.ProcessDAO;
import org.apache.ode.bpel.dao.ProcessInstanceDAO;
import org.apache.ode.bpel.evt.BpelEvent;
-import org.apache.ode.bpel.iapi.AbstractInstanceLockManager;
-import org.apache.ode.bpel.iapi.BpelEngine;
-import org.apache.ode.bpel.iapi.BpelEngineException;
-import org.apache.ode.bpel.iapi.ContextException;
-import org.apache.ode.bpel.iapi.Endpoint;
-import org.apache.ode.bpel.iapi.Message;
-import org.apache.ode.bpel.iapi.MessageExchange;
-import org.apache.ode.bpel.iapi.OdeGlobalConfig;
-import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
-import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
-import org.apache.ode.bpel.iapi.ProcessState;
-import org.apache.ode.bpel.iapi.Scheduler;
+import org.apache.ode.bpel.iapi.*;
import org.apache.ode.bpel.iapi.MessageExchange.FailureType;
import org.apache.ode.bpel.iapi.MessageExchange.MessageExchangePattern;
import org.apache.ode.bpel.iapi.MessageExchange.Status;
@@ -60,13 +50,7 @@ import org.w3c.dom.Element;
import javax.wsdl.Operation;
import javax.wsdl.PortType;
import javax.xml.namespace.QName;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
+import java.util.*;
import java.util.concurrent.TimeUnit;
/**
@@ -114,7 +98,7 @@ public class BpelEngineImpl implements BpelEngine {
private SharedEndpoints _sharedEps;
/** Manage instance-level locks. */
- private final AbstractInstanceLockManager _instanceLockManager;
+ private final ClusterLock<Long> _instanceLockManager;
final Contexts _contexts;
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/InstanceLockManager.java
----------------------------------------------------------------------
diff --git a/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/InstanceLockManager.java b/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/InstanceLockManager.java
index f712552..1571eac 100644
--- a/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/InstanceLockManager.java
+++ b/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/InstanceLockManager.java
@@ -20,7 +20,7 @@ package org.apache.ode.bpel.engine;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.iapi.AbstractInstanceLockManager;
+import org.apache.ode.bpel.clapi.ClusterLock;
import java.util.HashMap;
import java.util.Map;
@@ -37,12 +37,16 @@ import java.util.concurrent.locks.Lock;
*
* @author Maciej Szefler - m s z e f l e r @ g m a i l . c o m
*/
-public class InstanceLockManager extends AbstractInstanceLockManager {
+public class InstanceLockManager implements ClusterLock<Long> {
private static final Log __log = LogFactory.getLog(InstanceLockManager.class);
private final Lock _mutex = new java.util.concurrent.locks.ReentrantLock();
private final Map<Long, InstanceInfo> _locks = new HashMap<Long,InstanceInfo>();
+ public void lock(Long key) {
+ // Noting to do here.
+ }
+
public void lock(Long iid, int time, TimeUnit tu) throws InterruptedException, TimeoutException {
if (iid == null) return;
@@ -106,6 +110,20 @@ public class InstanceLockManager extends AbstractInstanceLockManager {
}
+ public boolean tryLock(Long key) {
+ // Noting to do here.
+ return false;
+ }
+
+ public boolean tryLock(Long key, int time, TimeUnit tu) {
+ // Noting to do here.
+ return false;
+ }
+
+ public void putIfAbsent(Long key, Long keyVal) {
+ // Noting to do here.
+ }
+
@Override
public String toString() {
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastClusterImpl.java
----------------------------------------------------------------------
diff --git a/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastClusterImpl.java b/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastClusterImpl.java
index 8eac0b6..5f2b8f5 100644
--- a/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastClusterImpl.java
+++ b/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastClusterImpl.java
@@ -30,8 +30,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.bpel.clapi.*;
-import org.apache.ode.bpel.iapi.AbstractInstanceLockManager;
-
/**
* This class implements necessary methods to build the cluster using hazelcast
@@ -45,11 +43,11 @@ public class HazelcastClusterImpl implements ClusterManager {
private String uuid;
private Member leader;
private IMap<String, String> deployment_lock_map;
- private IMap<String, String> instance_lock_map;
+ private IMap<Long, Long> instance_lock_map;
private ITopic<ProcessStoreClusterEvent> clusterMessageTopic;
private ClusterProcessStore _clusterProcessStore;
- private ClusterLock _hazelcastDeploymentLock;
- private AbstractInstanceLockManager _hazelcastInstanceLock;
+ private ClusterLock<String> _hazelcastDeploymentLock;
+ private ClusterLock<Long> _hazelcastInstanceLock;
public void init(File configRoot) {
@@ -84,7 +82,7 @@ public class HazelcastClusterImpl implements ClusterManager {
clusterMessageTopic = _hazelcastInstance.getTopic(HazelcastConstants.ODE_CLUSTER_MSG);
_hazelcastDeploymentLock = (ClusterLock) new HazelcastDeploymentLock(deployment_lock_map);
- _hazelcastInstanceLock = (AbstractInstanceLockManager) new HazelcastInstanceLock(instance_lock_map);
+ _hazelcastInstanceLock = (ClusterLock) new HazelcastInstanceLock(instance_lock_map);
}
}
@@ -167,11 +165,11 @@ public class HazelcastClusterImpl implements ClusterManager {
if(_hazelcastInstance != null) _hazelcastInstance.getLifecycleService().shutdown();
}
- public ClusterLock getDeploymentLock(){
+ public ClusterLock<String> getDeploymentLock(){
return _hazelcastDeploymentLock;
}
- public AbstractInstanceLockManager getInstanceLock(){
+ public ClusterLock<Long> getInstanceLock(){
return _hazelcastInstanceLock;
}
}
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastDeploymentLock.java
----------------------------------------------------------------------
diff --git a/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastDeploymentLock.java b/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastDeploymentLock.java
index 2f5aa4d..f36a1b4 100644
--- a/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastDeploymentLock.java
+++ b/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastDeploymentLock.java
@@ -26,7 +26,7 @@ import org.apache.commons.logging.LogFactory;
import java.util.concurrent.TimeUnit;
-public class HazelcastDeploymentLock implements ClusterLock{
+public class HazelcastDeploymentLock implements ClusterLock<String>{
private static final Log __log = LogFactory.getLog(HazelcastDeploymentLock.class);
private IMap<String, String> _lock_map;
@@ -39,23 +39,21 @@ public class HazelcastDeploymentLock implements ClusterLock{
_lock_map.putIfAbsent(key, keyVal);
}
- public boolean lockMap(String key) {
+ public void lock(String key) {
_lock_map.lock(key);
if (__log.isDebugEnabled()) {
__log.debug("ThreadID:" + Thread.currentThread().getId() + " duLocked value for " + key + " file" + " after locking: " + true);
}
- return true;
}
- public boolean unlockMap(String key) {
+ public void unlock(String key) {
_lock_map.unlock(key);
if (__log.isDebugEnabled()) {
__log.debug("ThreadID:" + Thread.currentThread().getId() + " duLocked value for " + key + " file" + " after unlocking: " + false);
}
- return true;
}
- public boolean tryLockMap(String key) {
+ public boolean tryLock(String key) {
boolean state = _lock_map.tryLock(key);
if (__log.isDebugEnabled()) {
__log.debug("ThreadID:" + Thread.currentThread().getId() + " duLocked value for " + key + " file" + " after locking: " + state);
@@ -63,8 +61,13 @@ public class HazelcastDeploymentLock implements ClusterLock{
return state;
}
- public boolean tryLockMap(String key,int time, TimeUnit tu) {
+ public boolean tryLock(String key,int time, TimeUnit tu) {
+ // Noting to do here.
+ return false;
+
+ }
+
+ public void lock(String key,int time, TimeUnit tu) {
// Noting to do here.
- return true;
}
}
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastInstanceLock.java
----------------------------------------------------------------------
diff --git a/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastInstanceLock.java b/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastInstanceLock.java
index 6988746..aa6c086 100644
--- a/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastInstanceLock.java
+++ b/clustering/src/main/java/org/apache/ode/clustering/hazelcast/HazelcastInstanceLock.java
@@ -20,29 +20,31 @@ package org.apache.ode.clustering.hazelcast;
import com.hazelcast.core.IMap;
import org.apache.ode.bpel.clapi.ClusterLock;
-import org.apache.ode.bpel.iapi.AbstractInstanceLockManager;
import java.util.concurrent.TimeUnit;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-public class HazelcastInstanceLock extends AbstractInstanceLockManager implements ClusterLock {
+public class HazelcastInstanceLock implements ClusterLock<Long> {
private static final Log __log = LogFactory.getLog(HazelcastInstanceLock.class);
- private IMap<String, String> _lock_map;
+ private IMap<Long, Long> _lock_map;
- HazelcastInstanceLock(IMap<String, String> lock_map) {
+ HazelcastInstanceLock(IMap<Long, Long> lock_map) {
_lock_map = lock_map;
}
- public void putIfAbsent(String key, String keyVal) {
+ public void putIfAbsent(Long key, Long keyVal) {
_lock_map.putIfAbsent(key, keyVal);
}
- public void lock(Long iid, int time, TimeUnit tu) throws InterruptedException,
- AbstractInstanceLockManager.TimeoutException {
+ public void lock(Long key) {
+ // Noting to do here.
+ }
+
+ public void lock(Long iid, int time, TimeUnit tu) throws InterruptedException,TimeoutException {
if (iid == null) {
if (__log.isDebugEnabled()) {
__log.debug(" Instance Id null at lock[]");
@@ -56,15 +58,15 @@ public class HazelcastInstanceLock extends AbstractInstanceLockManager implement
__log.debug(thrd + ": lock(iid=" + iid + ", time=" + time + tu + ")");
}
- putIfAbsent(iid.toString(), iid.toString());
+ putIfAbsent(iid, iid);
- if (!tryLockMap(iid.toString(), time, tu)) {
+ if (!_lock_map.tryLock(iid, time, tu)) {
if (__log.isDebugEnabled()) {
__log.debug(thrd + ": lock(iid=" + iid + ", " +
"time=" + time + tu + ")-->TIMEOUT");
}
- throw new AbstractInstanceLockManager.TimeoutException();
+ throw new TimeoutException();
}
}
@@ -79,40 +81,20 @@ public class HazelcastInstanceLock extends AbstractInstanceLockManager implement
String thrd = Thread.currentThread().toString();
- unlockMap(iid.toString());
+ _lock_map.unlock(iid);
if (__log.isDebugEnabled()) {
__log.debug(thrd + " unlock(iid=" + iid + ")");
}
}
- public boolean lockMap(String key) {
+ public boolean tryLock(Long key) {
// Noting to do here.
- return true;
- }
-
- public boolean unlockMap(String key) {
- if (_lock_map.get(key) == "true") {
- _lock_map.unlock(key);
- _lock_map.replace(key, "false");
- return true;
- }
return false;
}
- public boolean tryLockMap(String key) {
+ public boolean tryLock(Long key, int time, TimeUnit tu) {
// Noting to do here.
- return true;
- }
-
- public boolean tryLockMap(String key, int time, TimeUnit tu) {
- boolean state = false;
- try {
- state = _lock_map.tryLock(key, time, tu);
- } catch (InterruptedException ex) {
- __log.error("Interruption occured" +ex);
- }
- _lock_map.replace(key, "" + state);
- return state;
+ return false;
}
}
http://git-wip-us.apache.org/repos/asf/ode/blob/dfb500c0/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
----------------------------------------------------------------------
diff --git a/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java b/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
index a56b86e..a0d67ce 100644
--- a/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
+++ b/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
@@ -19,33 +19,18 @@
package org.apache.ode.scheduler.simple;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-import java.util.Random;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArraySet;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.atomic.AtomicLong;
-
-import javax.transaction.Status;
-import javax.transaction.Synchronization;
-import javax.transaction.SystemException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.bpel.iapi.ContextException;
import org.apache.ode.bpel.iapi.Scheduler;
+import javax.transaction.*;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.concurrent.atomic.AtomicLong;
+
/**
* A reliable and relatively simple scheduler that uses a database to persist information about
* scheduled tasks.
@@ -508,9 +493,9 @@ public class SimpleScheduler implements Scheduler, TaskRunner {
return;
_todo.stop();
- _todo.clearTasks(UpgradeJobsTask.class);
+ _todo.clearTasks(UpgradeJobsTask.class); //check gsoc
_todo.clearTasks(LoadImmediateTask.class);
- _todo.clearTasks(CheckStaleNodes.class);
+ _todo.clearTasks(CheckStaleNodes.class); //check gsoc
_processedSinceLastLoadTask.clear();
_outstandingJobs.clear();