Author: hiranya
Date: Tue Dec 22 05:01:40 2009
New Revision: 893069
URL: http://svn.apache.org/viewvc?rev=893069&view=rev
Log:
Made SynapseTaskManager a singleton class
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/startup/quartz/SimpleQuartz.java
synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskManager.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java?rev=893069&r1=893068&r2=893069&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
Tue Dec 22 05:01:40 2009
@@ -69,9 +69,6 @@
/** The Axis2 listener Manager */
private ListenerManager listenerManager;
- /** The Synapse task manager which contains the task scheduler and the
task repository */
- private SynapseTaskManager synapseTaskManager;
-
/** The Axis2 configuration context used by Synapse */
private ConfigurationContext configurationContext;
@@ -230,7 +227,8 @@
transportHelper.pauseSenders();
// put tasks on hold
- if (synapseTaskManager != null && synapseTaskManager.isInitialized()) {
+ SynapseTaskManager synapseTaskManager =
SynapseTaskManager.getInstance();
+ if (synapseTaskManager.isInitialized()) {
synapseTaskManager.pauseAll();
}
@@ -249,7 +247,8 @@
transportHelper.resumeSenders();
// resume tasks
- if (synapseTaskManager != null && synapseTaskManager.isInitialized()) {
+ SynapseTaskManager synapseTaskManager =
SynapseTaskManager.getInstance();
+ if (synapseTaskManager.isInitialized()) {
synapseTaskManager.resumeAll();
}
@@ -262,7 +261,8 @@
public void stop() {
try {
// stop tasks
- if (synapseTaskManager != null &&
synapseTaskManager.isInitialized()) {
+ SynapseTaskManager synapseTaskManager =
SynapseTaskManager.getInstance();
+ if (synapseTaskManager.isInitialized()) {
synapseTaskManager.cleanup();
}
@@ -364,7 +364,7 @@
undeployProxyServices();
undeployEventSources();
} catch (AxisFault e) {
- handleFatal("t", e);
+ handleFatal("Error while shutting down the Synapse
environment", e);
}
synapseEnvironment.setInitialized(false);
}
@@ -403,10 +403,6 @@
addServerIPAndHostEnrties();
- if (synapseTaskManager != null && synapseTaskManager.isInitialized()) {
- synapseConfiguration.setTaskManager(synapseTaskManager);
- }
-
return synapseConfiguration;
}
@@ -460,7 +456,8 @@
}
int runningTasks = 0;
- if (synapseTaskManager != null &&
synapseTaskManager.isInitialized()) {
+ SynapseTaskManager synapseTaskManager =
SynapseTaskManager.getInstance();
+ if (synapseTaskManager.isInitialized()) {
runningTasks =
synapseTaskManager.getTaskScheduler().getRunningTaskCount();
if (runningTasks > 0) {
log.info("Waiting for : " + runningTasks + " tasks to
complete..");
@@ -689,7 +686,7 @@
*/
private void initTaskManager(ServerContextInformation
serverContextInformation) {
- synapseTaskManager = new SynapseTaskManager();
+ SynapseTaskManager synapseTaskManager =
SynapseTaskManager.getInstance();
Object repo =
serverContextInformation.getProperty(TaskConstants.TASK_DESCRIPTION_REPOSITORY);
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java?rev=893069&r1=893068&r2=893069&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
Tue Dec 22 05:01:40 2009
@@ -26,7 +26,6 @@
import org.apache.synapse.*;
import org.apache.synapse.eventing.SynapseEventSource;
import org.apache.synapse.commons.datasource.DataSourceHelper;
-import org.apache.synapse.task.*;
import org.apache.synapse.config.xml.MediatorFactoryFinder;
import org.apache.synapse.config.xml.endpoints.XMLToEndpointMapper;
import org.apache.synapse.core.SynapseEnvironment;
@@ -117,12 +116,6 @@
private List<SynapseObserver> observers = new ArrayList<SynapseObserver>();
/**
- * The singleton task manager instance which contains the task description
repository and the
- * scheduler
- */
- private SynapseTaskManager taskManager;
-
- /**
* Add a named sequence into the local registry. If a sequence already
exists by the specified
* key a runtime exception is thrown.
*
@@ -965,13 +958,6 @@
for (ManagedLifecycle stp : startups.values()) {
stp.destroy();
}
-
- if (taskManager != null && taskManager.isInitialized()) {
- TaskScheduler taskScheduler = taskManager.getTaskScheduler();
- if (taskScheduler != null && taskScheduler.isInitialized()) {
- taskScheduler.shutDown();
- }
- }
// clear session information used for SA load balancing
try {
@@ -1103,14 +1089,6 @@
return Collections.unmodifiableList(observers);
}
- public SynapseTaskManager getTaskManager() {
- return taskManager;
- }
-
- public void setTaskManager(SynapseTaskManager taskManager) {
- this.taskManager = taskManager;
- }
-
private void assertAlreadyExists(String key, String type) {
if (key == null || "".equals(key)) {
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/startup/quartz/SimpleQuartz.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/startup/quartz/SimpleQuartz.java?rev=893069&r1=893068&r2=893069&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/startup/quartz/SimpleQuartz.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/startup/quartz/SimpleQuartz.java
Tue Dec 22 05:01:40 2009
@@ -23,7 +23,6 @@
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.SynapseException;
import org.apache.synapse.config.SynapseConfigUtils;
-import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.startup.AbstractStartup;
import org.apache.synapse.task.*;
@@ -48,8 +47,6 @@
private TaskDescription taskDescription;
- private SynapseTaskManager synapseTaskManager;
-
public QName getTagQName() {
return SimpleQuartzFactory.TASK;
}
@@ -63,6 +60,7 @@
return;
}
+ SynapseTaskManager synapseTaskManager =
SynapseTaskManager.getInstance();
if (synapseTaskManager.isInitialized()) {
TaskScheduler taskScheduler =
synapseTaskManager.getTaskScheduler();
@@ -84,13 +82,8 @@
handleException("Error while initializing the startup.
TaskDescription is null.");
}
- SynapseConfiguration synapseConfiguration =
synapseEnvironment.getSynapseConfiguration();
- synapseTaskManager = synapseConfiguration.getTaskManager();
- if (synapseTaskManager == null) {
- log.error("SynapseTaskManager is not available in the
SynapseConfiguration. Tasks " +
- "cannot be initialized.");
- return;
- } else if (!synapseTaskManager.isInitialized()) {
+ SynapseTaskManager synapseTaskManager =
SynapseTaskManager.getInstance();
+ if (!synapseTaskManager.isInitialized()) {
log.warn("SynapseTaskManager is not properly initialized.
Initializing now with " +
"default parameters.");
synapseTaskManager.init(null, null);
@@ -143,7 +136,7 @@
TaskScheduler taskScheduler =
synapseTaskManager.getTaskScheduler();
if (taskScheduler != null) {
if (!taskScheduler.isInitialized()) {
- taskScheduler.init(synapseConfiguration.getProperties());
+
taskScheduler.init(synapseEnvironment.getSynapseConfiguration().getProperties());
}
taskScheduler.scheduleTask(taskDescription, map,
SimpleQuartzJob.class);
} else {
Modified:
synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskManager.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskManager.java?rev=893069&r1=893068&r2=893069&view=diff
==============================================================================
---
synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskManager.java
(original)
+++
synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/SynapseTaskManager.java
Tue Dec 22 05:01:40 2009
@@ -35,7 +35,13 @@
private TaskScheduler taskScheduler;
private boolean initialized = false;
- public SynapseTaskManager() {
+ private static final SynapseTaskManager INSTANCE = new
SynapseTaskManager();
+
+ public static SynapseTaskManager getInstance() {
+ return INSTANCE;
+ }
+
+ private SynapseTaskManager() {
if (log.isDebugEnabled()) {
log.debug("Created the SynapseTaskManager singleton instance");
}
@@ -107,8 +113,10 @@
public void cleanup() {
assertInitialized();
+ log.info("Shutting down the task manager");
taskDescriptionRepository.clear();
taskScheduler.shutDown();
+ initialized = false;
}
public void pauseAll() {