You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by in...@apache.org on 2008/10/29 10:09:40 UTC
svn commit: r708841 - in /synapse/trunk/java/modules:
core/src/main/java/org/apache/synapse/startup/quartz/SimpleQuartz.java
tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java
Author: indika
Date: Wed Oct 29 02:09:40 2008
New Revision: 708841
URL: http://svn.apache.org/viewvc?rev=708841&view=rev
Log:
add remove method
Modified:
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/TaskDescriptionRepository.java
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=708841&r1=708840&r2=708841&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 Wed Oct 29 02:09:40 2008
@@ -59,20 +59,30 @@
if (taskScheduler != null && taskScheduler.isInitialized()) {
taskScheduler.shutDown();
}
+
+ TaskDescriptionRepository repository = TaskDescriptionRepositoryFactory.getTaskDescriptionRepository(
+ SimpleQuartz.SYNAPSE_STARTUP_TASK_DESCRIPTIONS_REPOSITORY);
+ if (repository != null) {
+ repository.removeTaskDescription(taskDescriptionReference);
+ }
}
public void init(SynapseEnvironment synapseEnvironment) {
if (taskDescriptionReference == null || "".equals(taskDescriptionReference)) {
- throw new NullPointerException("TaskDescriptionRefrence key is null or empty");
+ handleException("TaskDescriptionRefrence key is null or empty");
}
TaskDescriptionRepository repository = TaskDescriptionRepositoryFactory.getTaskDescriptionRepository(
SimpleQuartz.SYNAPSE_STARTUP_TASK_DESCRIPTIONS_REPOSITORY);
+ if (repository == null) {
+ handleException("Task Description Repository can not found");
+ }
+
TaskDescription taskDescription = repository.getTaskDescription(taskDescriptionReference);
if (taskDescription == null) {
- throw new NullPointerException("TaskDescription is null : reference name : " + taskDescriptionReference);
+ handleException("TaskDescription is null : reference name : " + taskDescriptionReference);
}
// this server name given by system property SynapseServerName
// otherwise take host-name
@@ -106,14 +116,22 @@
Map<String, Object> map = new HashMap<String, Object>();
map.put(SimpleQuartzJob.SYNAPSE_ENVIRONMENT, synapseEnvironment);
+
try {
+
TaskScheduler taskScheduler = TaskSchedulerFactory.getTaskScheduler(SYNAPSE_STARTUP_TASK_SCHEDULER);
if (taskScheduler != null) {
if (!taskScheduler.isInitialized()) {
taskScheduler.init(synapseEnvironment.getSynapseConfiguration().getProperties());
}
taskScheduler.scheduleTask(taskDescription, map, SimpleQuartzJob.class);
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("TaskScheduler cannot be found for :" + SYNAPSE_STARTUP_TASK_SCHEDULER + " , " +
+ "therefore ignore scheduling of Task " + taskDescription);
+ }
}
+
} catch (Exception e) {
log.fatal("Error starting up Scheduler", e);
throw new SynapseException("Error starting up Scheduler", e);
@@ -128,4 +146,9 @@
public void setTaskDescriptionReference(String taskDescriptionReference) {
this.taskDescriptionReference = taskDescriptionReference;
}
+
+ private static void handleException(String message) {
+ log.error(message);
+ throw new SynapseException(message);
+ }
}
Modified: synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java?rev=708841&r1=708840&r2=708841&view=diff
==============================================================================
--- synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java (original)
+++ synapse/trunk/java/modules/tasks/src/main/java/org/apache/synapse/task/TaskDescriptionRepository.java Wed Oct 29 02:09:40 2008
@@ -61,6 +61,16 @@
}
/**
+ * Removing a TaskDescription
+ *
+ * @param name Name of the TaskDescription to be removed
+ */
+ public void removeTaskDescription(String name) {
+ validateName(name);
+ taskDescriptionMap.remove(name);
+ }
+
+ /**
* Explicit check for determine whether there is a task description with a name in interest
*
* @param name Name of the TaskDescription