Class DriverManagerConnectionSource
java.lang.Object
org.apache.log4j.component.spi.ComponentBase
org.apache.log4j.receivers.db.ConnectionSourceSkeleton
org.apache.log4j.receivers.db.DriverManagerConnectionSource
- All Implemented Interfaces:
Component, ConnectionSource, org.apache.log4j.spi.OptionHandler
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 Summary
FieldsFields inherited from class ComponentBase
repositoryFields inherited from interface ConnectionSource
HSQL_DIALECT, MSSQL_DIALECT, MYSQL_DIALECT, ORACLE_DIALECT, POSTGRES_DIALECT, UNKNOWN_DIALECT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidObtain aConnectionfor use.Returns the name of the driver class.getUrl()Returns the url.voidsetDriverClass(String driverClass) Sets the driver class.voidSets the url.Methods inherited from class ConnectionSourceSkeleton
discoverConnnectionProperties, getOverriddenSupportsGetGeneratedKeys, getPassword, getSQLDialectCode, getUser, setOverriddenSupportsGetGeneratedKeys, setPassword, setUser, supportsBatchUpdates, supportsGetGeneratedKeysMethods inherited from class ComponentBase
getLogger, getLoggerRepository, getNonFloodingLogger, resetErrorCount, setLoggerRepositoryMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Component
setLoggerRepository
-
Field Details
-
driverClass
-
url
-
-
Constructor Details
-
DriverManagerConnectionSource
public DriverManagerConnectionSource()
-
-
Method Details
-
activateOptions
public void activateOptions() -
getConnection
Description copied from interface:ConnectionSourceObtain aConnectionfor use. The client is responsible for closing theConnectionwhen it is no longer required.- Throws:
SQLException- if aConnectioncould not be obtained- See Also:
-
getUrl
-
setUrl
-
getDriverClass
-
setDriverClass
Sets the driver class.- Parameters:
driverClass- The driver class to set
-