You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2007/10/19 03:48:19 UTC
svn commit: r586218 - in
/cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron:
QuartzJobExecutor.java QuartzJobScheduler.java QuartzJobSchedulerEntry.java
Author: vgritsenko
Date: Thu Oct 18 18:48:19 2007
New Revision: 586218
URL: http://svn.apache.org/viewvc?rev=586218&view=rev
Log:
switching to new AbstractLogEnabled
Modified:
cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobExecutor.java
cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java
cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobSchedulerEntry.java
Modified: cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobExecutor.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobExecutor.java?rev=586218&r1=586217&r2=586218&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobExecutor.java (original)
+++ cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobExecutor.java Thu Oct 18 18:48:19 2007
@@ -20,9 +20,14 @@
import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.cocoon.util.AbstractLogEnabled;
+import org.apache.cocoon.util.avalon.CLLoggerWrapper;
+
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
@@ -31,13 +36,12 @@
/**
* This component is resposible to launch a {@link CronJob}s in a Quart Scheduler.
*
- * @version $Id$
- *
* @since 2.1.1
+ * @version $Id$
*/
-public class QuartzJobExecutor implements Job {
+public class QuartzJobExecutor extends AbstractLogEnabled
+ implements Job {
- protected Logger m_logger;
protected Context m_context;
protected ServiceManager m_manager;
@@ -47,41 +51,42 @@
public void execute(final JobExecutionContext context) throws JobExecutionException {
final JobDataMap data = context.getJobDetail().getJobDataMap();
-
final String name = (String) data.get(QuartzJobScheduler.DATA_MAP_NAME);
- m_logger = (Logger) data.get(QuartzJobScheduler.DATA_MAP_LOGGER);
m_context = (Context) data.get(QuartzJobScheduler.DATA_MAP_CONTEXT);
m_manager = (ServiceManager) data.get(QuartzJobScheduler.DATA_MAP_MANAGER);
final Boolean canRunConcurrentlyB = ((Boolean) data.get(QuartzJobScheduler.DATA_MAP_RUN_CONCURRENT));
- final boolean canRunConcurrently = ((canRunConcurrentlyB == null) ? true : canRunConcurrentlyB.booleanValue());
+ final boolean canRunConcurrently = (canRunConcurrentlyB == null) ? true : canRunConcurrentlyB.booleanValue();
if (!canRunConcurrently) {
Boolean isRunning = (Boolean) data.get(QuartzJobScheduler.DATA_MAP_KEY_ISRUNNING);
if (Boolean.TRUE.equals(isRunning)) {
- m_logger.warn("Cron job name '" + name +
- " already running but configured to not allow concurrent runs. Will discard this scheduled run");
+ getLogger().warn("Cron job name '" + name +
+ " already running but configured to not allow concurrent runs. Will discard this scheduled run");
return;
}
}
- if (m_logger.isInfoEnabled()) {
- m_logger.info("Executing cron job named '" + name + "'");
+ if (getLogger().isInfoEnabled()) {
+ getLogger().info("Executing cron job named '" + name + "'");
}
setup(data);
Object job = null;
- String jobrole = null;
+ String jobrole;
boolean release = false;
boolean dispose = false;
try {
jobrole = (String) data.get(QuartzJobScheduler.DATA_MAP_ROLE);
- if (null == jobrole) {
+ if (jobrole == null) {
job = data.get(QuartzJobScheduler.DATA_MAP_OBJECT);
- ContainerUtil.enableLogging(job, m_logger);
+ // Legacy support code
+ if (job instanceof LogEnabled) {
+ ContainerUtil.enableLogging(job, new CLLoggerWrapper(LogFactory.getLog(job.getClass())));
+ }
ContainerUtil.contextualize(job, m_context);
ContainerUtil.service(job, m_manager);
dispose = true;
@@ -103,16 +108,15 @@
} else if (job instanceof Runnable) {
((Runnable) job).run();
} else {
- m_logger.error("job named '" + name + "' is of invalid class: " + job.getClass().getName());
+ getLogger().error("job named '" + name + "' is of invalid class: " + job.getClass().getName());
}
} catch (final Throwable t) {
- m_logger.error("Cron job name '" + name + "' died.", t);
+ getLogger().error("Cron job name '" + name + "' died.", t);
if (t instanceof JobExecutionException) {
throw (JobExecutionException) t;
}
} finally {
-
release(data);
if (m_manager != null && release) {
@@ -131,5 +135,4 @@
protected void release(JobDataMap data) {
data.put(QuartzJobScheduler.DATA_MAP_KEY_ISRUNNING, Boolean.FALSE);
}
-
}
Modified: cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java?rev=586218&r1=586217&r2=586218&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java (original)
+++ cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java Thu Oct 18 18:48:19 2007
@@ -41,6 +41,7 @@
import org.apache.cocoon.thread.RunnableManager;
import org.apache.cocoon.thread.ThreadPool;
import org.apache.cocoon.util.AbstractLogEnabled;
+import org.apache.cocoon.util.avalon.CLLoggerWrapper;
import org.quartz.CronTrigger;
import org.quartz.Job;
@@ -89,7 +90,10 @@
/** Map key for the service manager */
static final String DATA_MAP_MANAGER = "QuartzJobScheduler.ServiceManager";
- /** Map key for the logger */
+ /**
+ * Map key for the logger
+ * @deprecated Use commons logging.
+ */
static final String DATA_MAP_LOGGER = "QuartzJobScheduler.Logger";
/** Map key for the concurrent run property */
@@ -555,7 +559,7 @@
protected JobDataMap initDataMap(JobDataMap jobDataMap, String jobName, boolean concurent,
Parameters params, Map objects) {
jobDataMap.put(DATA_MAP_NAME, jobName);
- jobDataMap.put(DATA_MAP_LOGGER, getLogger());
+ jobDataMap.put(DATA_MAP_LOGGER, new CLLoggerWrapper(getLogger()));
jobDataMap.put(DATA_MAP_CONTEXT, this.context);
jobDataMap.put(DATA_MAP_MANAGER, this.manager);
jobDataMap.put(DATA_MAP_RUN_CONCURRENT, (concurent? Boolean.TRUE: Boolean.FALSE));
Modified: cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobSchedulerEntry.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobSchedulerEntry.java?rev=586218&r1=586217&r2=586218&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobSchedulerEntry.java (original)
+++ cocoon/trunk/blocks/cocoon-cron/cocoon-cron-impl/src/main/java/org/apache/cocoon/components/cron/QuartzJobSchedulerEntry.java Thu Oct 18 18:48:19 2007
@@ -74,8 +74,7 @@
*/
public String getJobName() {
String name = (String)m_data.get(QuartzJobScheduler.DATA_MAP_ROLE);
-
- if (null == name) {
+ if (name == null) {
name = m_data.get(QuartzJobScheduler.DATA_MAP_OBJECT).getClass().getName();
}