bloritsch    01/01/09 06:15:30

  Modified:    src/org/apache/cocoon/components/datasource Tag: xml-cocoon2
                        JdbcConnectionPool.java
               src/org/apache/cocoon/components/language/markup/xsp/java
                        Tag: xml-cocoon2 esql.xsl
  Log:
  A couple of minor updates for esql and pooling
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +7 -1      
xml-cocoon/src/org/apache/cocoon/components/datasource/Attic/JdbcConnectionPool.java
  
  Index: JdbcConnectionPool.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/datasource/Attic/JdbcConnectionPool.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- JdbcConnectionPool.java   2001/01/08 20:25:45     1.1.2.1
  +++ JdbcConnectionPool.java   2001/01/09 14:15:23     1.1.2.2
  @@ -25,7 +25,7 @@
    * The Pool implementation for JdbcConnections.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
  - * @version CVS $Revision: 1.1.2.1 $ $Date: 2001/01/08 20:25:45 $
  + * @version CVS $Revision: 1.1.2.2 $ $Date: 2001/01/09 14:15:23 $
    */
   public class JdbcConnectionPool implements Pool, Runnable, Disposable {
       private final String dburl;
  @@ -112,6 +112,8 @@
               }
           }
   
  +        log.debug("JdbcConnection '" + this.dburl + "' has been requested 
from pool.");
  +
           return obj;
       }
   
  @@ -122,15 +124,19 @@
           if (this.monitoring) {
               this.ready.add(obj);
           }
  +
  +        log.debug("JdbcConnection '" + this.dburl + "' has been returned to 
the pool.");
       }
   
       public void run() {
           while (this.monitoring) {
               if (this.ready.size() < this.min) {
  +                log.debug("There are not enough Connections for pool: " + 
this.dburl);
                   while ((this.ready.size() < this.min) && (this.currentCount 
< this.max)) {
                       this.ready.add(this.createJdbcConnection());
                   }
               } else {
  +                log.debug("Trimming excess fat from pool: " + this.dburl);
                   while (this.ready.size() > this.min) {
                       this.recycle((Recyclable) this.ready.remove(0));
                   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.20  +10 -20    
xml-cocoon/src/org/apache/cocoon/components/language/markup/xsp/java/Attic/esql.xsl
  
  Index: esql.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/markup/xsp/java/Attic/esql.xsl,v
  retrieving revision 1.1.2.19
  retrieving revision 1.1.2.20
  diff -u -r1.1.2.19 -r1.1.2.20
  --- esql.xsl  2001/01/05 23:07:35     1.1.2.19
  +++ esql.xsl  2001/01/09 14:15:28     1.1.2.20
  @@ -1,5 +1,5 @@
   <?xml version="1.0"?>
  -<!-- $Id: esql.xsl,v 1.1.2.19 2001/01/05 23:07:35 bloritsch Exp $-->
  +<!-- $Id: esql.xsl,v 1.1.2.20 2001/01/09 14:15:28 bloritsch Exp $-->
   <!--
   
    ============================================================================
  @@ -109,13 +109,12 @@
           <xsp:include>java.sql.SQLException</xsp:include>
           <xsp:include>java.text.SimpleDateFormat</xsp:include>
           <xsp:include>java.text.DecimalFormat</xsp:include>
  -     
<xsp:include>org.apache.cocoon.components.datasource.DataSourceComponent</xsp:include>
  +    
<xsp:include>org.apache.cocoon.components.datasource.DataSourceComponent</xsp:include>
         </xsp:structure>
         <xsp:logic>
   
           class EsqlSession {
               Connection connection=null;
  -            boolean closeConnection = true;
               String query;
               Statement statement;
               PreparedStatement preparedStatement;
  @@ -265,13 +264,11 @@
             <xsl:choose>
               <xsl:when test="not(esql:use-connection or esql:dburl)">
                 esqlSession.connection = 
((EsqlSession)esqlSessions.peek()).connection;
  -              esqlSession.closeConnection = false;
               </xsl:when>
               <xsl:when test="esql:use-connection">
  -           ComponentSelector esqlDSSelector = (ComponentSelector) 
this.manager.lookup(Roles.DB_CONNECTION);
  -           DataSourceComponent esqlDS = (DataSourceComponent) 
esqlDSSelector.select(String.valueOf(<xsl:copy-of select="$use-connection"/>));
  -           esqlSession.connection = esqlDS.getConnection();
  -              <!-- FIXME - need to do avalon pooling here maybe? -->
  +          ComponentSelector esqlDSSelector = (ComponentSelector) 
this.manager.lookup(Roles.DB_CONNECTION);
  +          DataSourceComponent esqlDS = (DataSourceComponent) 
esqlDSSelector.select(String.valueOf(<xsl:copy-of select="$use-connection"/>));
  +          esqlSession.connection = esqlDS.getConnection();
               </xsl:when>
               <xsl:otherwise>
                 ClassUtils.newInstance(String.valueOf(<xsl:copy-of 
select="$driver"/>).trim());
  @@ -371,19 +368,12 @@
   
             <xsl:apply-templates select="esql:error-results/*"/>
         } finally {
  -          if (esqlSession.closeConnection) {
  -              if (esqlSession.connection != null) {
  -                  try {
  -                      esqlSession.connection.close();
  -                  } catch (SQLException esqlException) {
  -                      cocoonLogger.debug("Could not close DB connection", 
esqlException);
  -                  }
  +          if (esqlSession.connection != null) {
  +              try {
  +                  esqlSession.connection.close();
  +              } catch (SQLException esqlException) {
  +                  cocoonLogger.debug("Could not close DB connection", 
esqlException);
                 }
  -
  -              <xsl:if test="esql:use-connection">
  -             esqlSession.connection = null;
  -                <!-- FIXME - need to release avalon pooling here maybe -->
  -              </xsl:if>
             }
   
             if (esqlSessions.empty()) {
  
  
  

Reply via email to