Connection Pooling mit Apache DBCP und Tomcat 6 via JNDI
1) Den passenden JDBC-Treiber und das commons-dbcp JAR in den Classpath der Anwendung legen
2) In der Apache Tomcat conf/server.xml für den Context die DataSource definieren:
<Context path= ....>
<Resource
name="jdbc/localhostDB"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
username="user"
password="pass"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/meinedatenbank?autoReconnect=true"
maxWait="1000"
removeAbandoned="true"
maxActive="30"
maxIdle="10"
removeAbandonedTimeout="60"
logAbandoned="true"/>
3) Die DataSource per Code verwenden:
InitialContext initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
if (ctx == null) {
logger.error("No InitialContext available");
} else {
dataSource = (DataSource) ctx.lookup("jdbc/localhostDB"); // Hier den namen der DataSource aus der server/conf.xml verwenden.
}
Jetzt kommt man über dataSource.getConnection() an eine Connection.