ceki 2005/01/07 13:32:21 Modified: src/java/org/apache/log4j/spi LoggerRepository.java src/java/org/apache/log4j/db DBReceiver.java CustomSQLDBReceiver.java src/java/org/apache/log4j LogManager.java Log: Removed LogManager.getSchedulerInstnace method. There should be one scheduler per LR. Revision Changes Path 1.23 +8 -0 logging-log4j/src/java/org/apache/log4j/spi/LoggerRepository.java Index: LoggerRepository.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/spi/LoggerRepository.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- LoggerRepository.java 28 Dec 2004 23:08:11 -0000 1.22 +++ LoggerRepository.java 7 Jan 2005 21:32:21 -0000 1.23 @@ -18,6 +18,7 @@ import org.apache.log4j.*; import org.apache.log4j.plugins.PluginRegistry; +import org.apache.log4j.scheduler.Scheduler; import java.util.Enumeration; import java.util.List; @@ -180,6 +181,13 @@ */ public PluginRegistry getPluginRegistry(); + + /** + * Return the [EMAIL PROTECTED] Scheduler} for this LoggerRepository. + * @since 1.3 + */ + public Scheduler getScheduler(); + /** * Get the properties specific for this repository. * @since 1.3 1.15 +22 -11 logging-log4j/src/java/org/apache/log4j/db/DBReceiver.java Index: DBReceiver.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/db/DBReceiver.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- DBReceiver.java 6 Jan 2005 19:27:03 -0000 1.14 +++ DBReceiver.java 7 Jan 2005 21:32:21 -0000 1.15 @@ -16,10 +16,10 @@ package org.apache.log4j.db; -import org.apache.log4j.LogManager; import org.apache.log4j.plugins.Pauseable; import org.apache.log4j.plugins.Receiver; import org.apache.log4j.scheduler.Scheduler; +import org.apache.log4j.spi.LoggerRepository; /** * @@ -37,19 +37,28 @@ int refreshMillis = DEFAULT_REFRESH_MILLIS; DBReceiverJob receiverJob; boolean paused = false; + private static final LoggerRepository Hierarchy = null; public void activateOptions() { - if (connectionSource != null) { - receiverJob = new DBReceiverJob(this); - receiverJob.setLoggerRepository(repository); - - Scheduler scheduler = LogManager.getSchedulerInstance(); - scheduler.schedule( - receiverJob, System.currentTimeMillis() + 500, refreshMillis); - } else { + + if(connectionSource == null) { throw new IllegalStateException( "DBAppender cannot function without a connection source"); } + + receiverJob = new DBReceiverJob(this); + receiverJob.setLoggerRepository(repository); + + if(this.repository == null) { + throw new IllegalStateException( + "DBAppender cannot function without a reference to its owning repository"); + } + + Scheduler scheduler = this.repository.getScheduler(); + + scheduler.schedule( + receiverJob, System.currentTimeMillis() + 500, refreshMillis); + } public void setRefreshMillis(int refreshMillis) { @@ -83,8 +92,10 @@ public void shutdown() { getLogger().info("removing receiverJob from the Scheduler."); - Scheduler scheduler = LogManager.getSchedulerInstance(); - scheduler.delete(receiverJob); + if(this.repository != null) { + Scheduler scheduler = repository.getScheduler(); + scheduler.delete(receiverJob); + } } 1.2 +24 -17 logging-log4j/src/java/org/apache/log4j/db/CustomSQLDBReceiver.java Index: CustomSQLDBReceiver.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/db/CustomSQLDBReceiver.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- CustomSQLDBReceiver.java 5 Dec 2004 10:17:36 -0000 1.1 +++ CustomSQLDBReceiver.java 7 Jan 2005 21:32:21 -0000 1.2 @@ -24,7 +24,6 @@ import java.util.StringTokenizer; import org.apache.log4j.Level; -import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.apache.log4j.plugins.Pauseable; import org.apache.log4j.plugins.Receiver; @@ -161,21 +160,26 @@ private Job customReceiverJob; public void activateOptions() { - if (connectionSource != null) { - customReceiverJob = new CustomReceiverJob(); + + if(connectionSource == null) { + throw new IllegalStateException( + "CustomSQLDBReceiver cannot function without a connection source"); + } + + customReceiverJob = new CustomReceiverJob(); + + if(this.repository == null) { + throw new IllegalStateException( + "CustomSQLDBReceiver cannot function without a reference to its owning repository"); + } + + + + Scheduler scheduler = this.repository.getScheduler(); + + scheduler.schedule( + customReceiverJob, System.currentTimeMillis() + 500, refreshMillis); - Scheduler scheduler = LogManager.getSchedulerInstance(); - if (refreshMillis > 0) { - scheduler.schedule(customReceiverJob, System - .currentTimeMillis() + 500, refreshMillis); - } else { - scheduler.schedule(customReceiverJob, System - .currentTimeMillis() + 500); - } - } else { - throw new IllegalStateException( - "CustomSQLDBReceiver cannot function without a connection source"); - } } void closeConnection(Connection connection) { @@ -236,8 +240,11 @@ public void shutdown() { getLogger().info("removing receiverJob from the Scheduler."); - Scheduler scheduler = LogManager.getSchedulerInstance(); - scheduler.delete(customReceiverJob); + if(this.repository != null) { + Scheduler scheduler = repository.getScheduler(); + scheduler.delete(customReceiverJob); + } + lastID = -1; } 1.35 +8 -8 logging-log4j/src/java/org/apache/log4j/LogManager.java Index: LogManager.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/LogManager.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- LogManager.java 7 Jan 2005 20:47:38 -0000 1.34 +++ LogManager.java 7 Jan 2005 21:32:21 -0000 1.35 @@ -45,7 +45,7 @@ public class LogManager { private static Object guard = null; private static RepositorySelector repositorySelector; - private static Scheduler schedulerInstance = null; + //private static Scheduler schedulerInstance = null; /** * The default LoggerRepository instance created by LogManager. This instance @@ -243,11 +243,11 @@ * * @since 1.3 */ - public static Scheduler getSchedulerInstance() { - if(schedulerInstance == null) { - schedulerInstance = new Scheduler(); - schedulerInstance.start(); - } - return schedulerInstance; - } +// public static Scheduler getSchedulerInstance() { +// if(schedulerInstance == null) { +// schedulerInstance = new Scheduler(); +// schedulerInstance.start(); +// } +// return schedulerInstance; +// } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]