bloritsch    01/03/14 08:30:17

  Modified:    src/java/org/apache/avalon/util/datasource
                        JdbcConnectionPool.java
  Log:
  Added error handling code so that the Pool does not enter nulls into the
  pool.  All entries are valid connections.
  
  Revision  Changes    Path
  1.5       +29 -24    
jakarta-avalon/src/java/org/apache/avalon/util/datasource/JdbcConnectionPool.java
  
  Index: JdbcConnectionPool.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/src/java/org/apache/avalon/util/datasource/JdbcConnectionPool.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JdbcConnectionPool.java   2001/03/09 16:05:53     1.4
  +++ JdbcConnectionPool.java   2001/03/14 16:30:15     1.5
  @@ -25,7 +25,7 @@
    * thread to manage the number of SQL Connections.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
  - * @version CVS $Revision: 1.4 $ $Date: 2001/03/09 16:05:53 $
  + * @version CVS $Revision: 1.5 $ $Date: 2001/03/14 16:30:15 $
    */
   public class JdbcConnectionPool
       extends AbstractLoggable
  @@ -83,41 +83,38 @@
       {
           for( int i = 0; i < m_min; i++ )
           {
  -            m_ready.add( createJdbcConnection() );
  +            try {
  +                m_ready.add( createJdbcConnection() );
  +            } catch (SQLException se) {
  +                getLogger().error( "Could not create connection to database", se );
  +            }
           }
   
           new Thread( this ).start();
       }
   
       private JdbcConnection createJdbcConnection()
  +    throws SQLException
       {
           JdbcConnection connection = null;
   
  -        try
  +        if( null == m_username )
           {
  -            if( null == m_username )
  -            {
  -                connection = new JdbcConnection( DriverManager.getConnection( 
m_dburl ), this );
  -                connection.setLogger(getLogger());
  -            }
  -            else
  -            {
  -                connection =
  -                    new JdbcConnection( DriverManager.getConnection( m_dburl,
  -                                                                     m_username,
  -                                                                     m_password ),
  -                                        this);
  -                connection.setLogger(getLogger());
  -            }
  -
  -            m_currentCount++;
  +            connection = new JdbcConnection( DriverManager.getConnection( m_dburl 
), this );
  +            connection.setLogger(getLogger());
           }
  -
  -        catch( final SQLException se )
  +        else
           {
  -            getLogger().error( "Could not create connection to database", se );
  +            connection =
  +                new JdbcConnection( DriverManager.getConnection( m_dburl,
  +                                                                 m_username,
  +                                                                 m_password ),
  +                                    this);
  +            connection.setLogger(getLogger());
           }
   
  +        m_currentCount++;
  +
           getLogger().debug( "JdbcConnection object created" );
           return connection;
       }
  @@ -240,8 +237,16 @@
   
                       while( ( m_ready.size() < m_min ) && ( m_currentCount < m_max ) 
)
                       {
  -                        m_ready.add( createJdbcConnection() );
  -                        notify();
  +                        try
  +                        {
  +                            m_ready.add( createJdbcConnection() );
  +                            notify();
  +                        }
  +
  +                        catch (SQLException se)
  +                        {
  +                            getLogger().error( "Could not create connection to 
database", se );
  +                        }
                       }
                   }
                   else
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to