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]