Mine differs slightly, though I see you're obviously on a diff. version of
Tomcat than I am.
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
// Look up our data source
DataSource ds = (DataSource)
envCtx.lookup("jdbc/myoracle");
// Allocate and use a connection from the pool
Connection connection = ds.getConnection();
-----Original Message-----
From: Hamacher, Eric [mailto:[email protected]]
Sent: Thursday, February 12, 2009 2:52 PM
To: [email protected]
Subject: Oracle connection pooling
Hello:
I am in a bind.
I am getting:
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context at
org.apache.naming.NamingContext.lookup(NamingContext.java:770)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at survey.db.SurveyConnection.getConnection(SurveyConnection.java:66)
at util.LoadDropdownListener.loadAllCodes(LoadDropdownListener.java:137)
at
util.LoadDropdownListener.contextInitialized(LoadDropdownListener.java:78)
when I add:
<Resource name="jdbc/GFDataSource" auth="Container"
type="oracle.jdbc.pool.OracleDataSource"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
connectionCachingEnabled="true"
maxActive="30"
maxIdle="2"
maxWait="1000"
username="GLP_S"
password="gideupstg"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@server:3333:SID"/>
to either server.xml (under <Server>), config/context.xml (under <Context>), or
in META-INF/context.xml.
Here's what these files look like when I place <Resource> in them:
********** SERVER.XML
***************************************************************
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/GFDataSource" auth="Container"
type="oracle.jdbc.pool.OracleDataSource"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
connectionCachingEnabled="true"
maxActive="30"
maxIdle="2"
maxWait="1000"
username="username"
password="password"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@server:3333:SID"/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
*************** CONFIG/CONTEXT.XML *******************************************
<Context>
<Resource name="jdbc/GFDataSource" auth="Container"
type="oracle.jdbc.pool.OracleDataSource"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
connectionCachingEnabled="true"
maxActive="30"
maxIdle="2"
maxWait="1000"
username="username"
password="password"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@server:3333:SID"/>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
*************** META-INF/CONTEXT.XML *******************************************
<Context>
<Resource name="jdbc/GFDataSource" auth="Container"
type="oracle.jdbc.pool.OracleDataSource"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
connectionCachingEnabled="true"
maxActive="30"
maxIdle="2"
maxWait="1000"
username="username"
password="password"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@server:3333:SID"/>
</Context>
Here is the offending code:
Context context = new InitialContext();
DataSource pds = null;
pds = (DataSource)context.lookup("jdbc/GFDataSource");
Connection conn = pds.getConnection();
context.close();
I have tried java:comp/env/jdbc/GFDataSource as well. I am using
ojdbc14dms.jar and dms.jar.
J. ERIC HAMACHER
Software Application Developer
608.664.3859
8476 Greenway Boulevard
Suite 100
Middleton, WI 53562
USA
GALLUP Technology
Achiever | Learner | Restorative | Intellection | Deliberative
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]