Package org.apache.log4j.db
Class JNDIConnectionSource
java.lang.Object
org.apache.log4j.spi.ComponentBase
org.apache.log4j.db.ConnectionSourceSkeleton
org.apache.log4j.db.JNDIConnectionSource
- All Implemented Interfaces:
ConnectionSource
,Component
,org.apache.log4j.spi.OptionHandler
The
JNDIConnectionSource
is an implementation of
ConnectionSource
that obtains a DataSource
from a
JNDI provider and uses it to obtain a Connection
. It is
primarily designed to be used inside of J2EE application servers or
application server clients, assuming the application server supports remote
access of DataSource
s. In this way one can take
advantage of connection pooling and whatever other goodies the application
server provides.
Sample configuration:
<connectionSource class="org.apache.log4j.jdbc.JNDIConnectionSource"> <param name="jndiLocation" value="jdbc/MySQLDS" /> </connectionSource>
Sample configuration (with username and password):
<connectionSource class="org.apache.log4j.jdbc.JNDIConnectionSource"> <param name="jndiLocation" value="jdbc/MySQLDS" /> <param name="username" value="myUser" /> <param name="password" value="myPassword" /> </connectionSource>
Note that this class will obtain an InitialContext
using the no-argument constructor. This will usually work when executing
within a J2EE environment. When outside the J2EE environment, make sure
that you provide a jndi.properties file as described by your JNDI
provider's documentation.
-
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 jndiLocation.private DataSource
void
setJndiLocation
(String jndiLocation) Sets the jndiLocation.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
-
jndiLocation
-
dataSource
-
-
Constructor Details
-
JNDIConnectionSource
public JNDIConnectionSource()
-
-
Method Details
-
activateOptions
public void activateOptions()- See Also:
-
OptionHandler.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:
-
getJndiLocation
Returns the jndiLocation.- Returns:
- String
-
setJndiLocation
Sets the jndiLocation.- Parameters:
jndiLocation
- The jndiLocation to set
-
lookupDataSource
- Throws:
NamingException
SQLException
-