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]

Reply via email to