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