You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ce...@apache.org on 2004/05/21 18:13:43 UTC

cvs commit: logging-log4j/src/java/org/apache/log4j/db DBReceiver.java DBAppender.java

ceki        2004/05/21 09:13:43

  Modified:    src/java/org/apache/log4j/db DBReceiver.java DBAppender.java
  Log:
  It is so much better when connections are closed. :-)
  
  Revision  Changes    Path
  1.8       +15 -2     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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DBReceiver.java	21 May 2004 15:12:08 -0000	1.7
  +++ DBReceiver.java	21 May 2004 16:13:43 -0000	1.8
  @@ -133,10 +133,11 @@
      
       public void execute() {
         LogLog.info("DBReceiverJob.execute() called");
  +      Connection connection = null;
         try {
           Logger logger;
           LoggerRepository loggerRepository = getLoggerRepository();
  -        Connection connection = connectionSource.getConnection();
  +        connection = connectionSource.getConnection();
           StringBuffer sql = new StringBuffer();
           sql.append("SELECT ");
           sql.append("sequence_number, ");
  @@ -211,10 +212,22 @@
           }
         } catch (SQLException sqle) {
           LogLog.error("Problem receiving events", sqle);
  +      } finally {
  +        closeConnection(connection);
         }
       }
     }
  -
  +  
  +  void closeConnection(Connection connection) {
  +    if(connection != null) {
  +      try { 
  +        connection.close();
  +      } catch(SQLException sqle) {
  +        LogLog.warn("Failed to close connection.");
  +      }
  +    }
  +  }
  +  
     /**
      * Retrieve the event properties from the logging_event_property table.
      * 
  
  
  
  1.10      +13 -1     logging-log4j/src/java/org/apache/log4j/db/DBAppender.java
  
  Index: DBAppender.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/db/DBAppender.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- DBAppender.java	20 May 2004 15:37:59 -0000	1.9
  +++ DBAppender.java	21 May 2004 16:13:43 -0000	1.10
  @@ -75,8 +75,9 @@
     }
   
     protected void append(LoggingEvent event) {
  +    Connection connection = null;
       try {
  -      Connection connection = connectionSource.getConnection();
  +      connection = connectionSource.getConnection();
         connection.setAutoCommit(false);
   
   
  @@ -198,9 +199,20 @@
         connection.commit();
       } catch (SQLException sqle) {
         LogLog.error("problem appending event", sqle);
  +    } finally {
  +      closeConnection(connection);
       }
     }
   
  +  void closeConnection(Connection connection) {
  +    if(connection != null) {
  +      try { 
  +        connection.close();
  +      } catch(SQLException sqle) {
  +        LogLog.warn("Failed to close connection.");
  +      }
  +    }
  +  }
     public void close() {
       // TODO Auto-generated method st  
     }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org