Class DriverManagerConnectionSource

All Implemented Interfaces:
ConnectionSource, Component, org.apache.log4j.spi.OptionHandler

public class DriverManagerConnectionSource extends ConnectionSourceSkeleton
The DriverManagerConnectionSource is an implementation of ConnectionSource that obtains the Connection in the traditional JDBC manner based on the connection URL.

Note that this class will establish a new Connection for each call to getConnection(). It is recommended that you either use a JDBC driver that natively supported Connection pooling or that you create your own implementation of ConnectionSource that taps into whatever pooling mechanism you are already using. (If you have access to a JNDI implementation that supports DataSources, e.g. within a J2EE application server, see JNDIConnectionSource). See below for a configuration example that uses the commons-dbcp package from Apache.

Sample configuration:

     <connectionSource class="org.apache.log4j.jdbc.DriverManagerConnectionSource">
        <param name="driver" value="com.mysql.jdbc.Driver" />
        <param name="url" value="jdbc:mysql://localhost:3306/mydb" />
        <param name="username" value="myUser" />
        <param name="password" value="myPassword" />
     </connectionSource>
  

If you do not have another connection pooling mechanism built into your application, you can use the commons-dbcp package from Apache:

     <connectionSource class="org.apache.log4j.jdbc.DriverManagerConnectionSource">
        <param name="driver" value="org.apache.commons.dbcp.PoolingDriver" />
        <param name="url" value="jdbc:apache:commons:dbcp:/myPoolingDriver" />
     </connectionSource>
  
Then the configuration information for the commons-dbcp package goes into the file myPoolingDriver.jocl and is placed in the classpath. See the commons-dbcp documentation for details.
  • Field Details

    • driverClass

      private String driverClass
    • url

      private String url
  • Constructor Details

    • DriverManagerConnectionSource

      public DriverManagerConnectionSource()
  • Method Details

    • activateOptions

      public void activateOptions()
    • getConnection

      public Connection getConnection() throws SQLException
      Description copied from interface: ConnectionSource
      Obtain a Connection for use. The client is responsible for closing the Connection when it is no longer required.
      Throws:
      SQLException - if a Connection could not be obtained
      See Also:
    • getUrl

      public String getUrl()
      Returns the url.
      Returns:
      String
    • setUrl

      public void setUrl(String url)
      Sets the url.
      Parameters:
      url - The url to set
    • getDriverClass

      public String getDriverClass()
      Returns the name of the driver class.
      Returns:
      String
    • setDriverClass

      public void setDriverClass(String driverClass)
      Sets the driver class.
      Parameters:
      driverClass - The driver class to set