tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shilpa Nalgonda" <snalgo...@mypublisher.com>
Subject RE: Tomcat Datasource -- please help..
Date Tue, 27 Jul 2004 15:06:40 GMT
Below is the code i am using to get the connection,
and datasource...
			Context ctx = new InitialContext();
			Context env = (Context)ctx.lookup("java:comp/env");
			DataSource ds = (DataSource) env.lookup("jdbc/prototypedb");
			conn = ds.getConnection();

-----Original Message-----
From: Ruth, Brice [mailto:bruth@fiskars.com]
Sent: Tuesday, July 27, 2004 11:07 AM
To: Tomcat Users List
Subject: Re: Tomcat Datasource -- please help..


I believe if you're defining your DataSource in the <Context> directly, 
not in the Global Naming Resources, then you do not need the 
<resource-ref> in web.xml, nor the <ResourceLink> mentioned below.

What code are you using to get to your connection? The JNDI lookup 
should be to java:comp/env/jdbc/prototypedb, in your particular case.

Respectfully,
Brice Ruth

Shilpa Nalgonda wrote:

>I have defined the resource in web.xml as below... and also defined the
>datasouce resources under context in server.xml... even then it does not
>help.. I get the same error "org.apache.jasper.JasperException: Name
>prototypedb is not bound in this Context"
> Web.xml
>================================================
><web-app>
><description>PrototypeDB Test App</description>
> <resource-ref>
> <description>DB Connection</description>
><res-ref-name>jdbc/prototypedb</res-ref-name>
> <res-type>javax.sql.DataSource</res-type>
> <res-auth>Container</res-auth>
> </resource-ref>
> </web-app>
>=======================================================
>server.xml
>==========
><!-- JNDI datasource setup to connect to MYSQL database-->
>     	<Context path="/PrototypeDBTest" docBase="PrototypeDBTest"
>        	debug="5" reloadable="true" crossContext="true"
>useNaming="true">
>
>  	<Logger className="org.apache.catalina.logger.FileLogger"
>             prefix="localhost_PrototypeDBTest_log." suffix=".txt"
>             timestamp="true"/>
>             <Resource name="jdbc/prototypedb"
>               auth="Container"
>               type="javax.sql.DataSource"/>
>
>  	<ResourceParams name="jdbc/prototypedb">
>    	<parameter>
>      	  <name>factory</name>
>      	  <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>    	</parameter>
>
>    	<!-- Maximum number of dB connections in pool. Make sure you
>         configure your mysqld max_connections large enough to handle
>         all of your db connections. Set to 0 for no limit.
>         -->
>    	<parameter>
>          <name>maxActive</name>
>          <value>100</value>
>        </parameter>
>
>    	<!-- Maximum number of idle dB connections to retain in pool.
>         Set to 0 for no limit.
>         -->
>        <parameter>
>         <name>maxIdle</name>
>         <value>30</value>
>        </parameter>
>
>   	 <!-- Maximum time to wait for a dB connection to become
>available
>         in ms, in this example 10 seconds. An Exception is thrown if
>         this timeout is exceeded.  Set to -1 to wait indefinitely.
>         -->
>    	<parameter>
>         <name>maxWait</name>
>         <value>10000</value>
>        </parameter>
>
>    	<!-- MySQL dB username and password for dB connections  -->
>    	<parameter>
>     	  <name>username</name>
>     	  <value>antonio</value>
>    	</parameter>
>    	<parameter>
>     	  <name>password</name>
>     	  <value>play</value>
>    	</parameter>
>
>    	<!-- Class name for mm.mysql JDBC driver -->
>    	<parameter>
>       	  <name>driverClassName</name>
>       	  <value>org.gjt.mm.mysql.Driver</value>
>    	</parameter>
>
>    	<!-- The JDBC connection url for connecting to your MySQL dB.
>         The autoReconnect=true argument to the url makes sure that the
>         mm.mysql JDBC Driver will automatically reconnect if mysqld
>closed the
>         connection.  mysqld by default closes idle connections after 8
>hours.
>         -->
>    	<parameter>
>      	<name>url</name>
>
><value>jdbc:mysql://localhost:3306/prototypedb?autoReconnect=true</value
>  
>
>   	</parameter>
></ResourceParams>
></Context>
>
>========================================================================
>=========
>
>-----Original Message-----
>From: Ruth, Brice [mailto:bruth@fiskars.com] 
>Sent: Tuesday, July 27, 2004 10:04 AM
>To: Tomcat Users List
>Subject: Re: Tomcat Datasource
>
>In addition to defining the DataSource in Tomcat's admin tool, you'll 
>need to define the Resource in you web.xml - something like this:
>
>    <resource-ref>
>        <!-- optional -->
>        <description>
>            Resource reference to a factory for java.sql.Connection
>            instances that may be used for talking to a particular
>            database that is configured in the server.xml file.
>        </description>
>        <!-- local JNDI name to use in JSPs, servlets, etc. -->
>        <res-ref-name>
>            jdbc/phone
>        </res-ref-name>
>        <res-type>
>            javax.sql.DataSource
>        </res-type>
>        <res-auth>
>            Container
>        </res-auth>
>    </resource-ref>
>
>You'll also need to define a ResourceLink in your Context, that links 
>what you want to call your DataSource locally (used in web.xml, see 
>above) to what you called your DataSource in the admin tool (globally 
>... these can be the same, but don't have to be). Something like this:
>
>  <ResourceLink global="jdbc/phone" name="jdbc/phone" 
>type="javax.sql.DataSource"/>
>
>The 'global' attribute provides the name of the global JNDI resource 
>(what was defined in the admin tool); 'name' provides the name of the 
>local JNDI resource (what will be referenced in web.xml).
>
>That's it! You shouldn't have any problems once you've done this.
>
>Respectfully,
>Brice Ruth
>
>
>
>Bussie, Andre D wrote:
>
>  
>
>>I'm using Tomcat 5.0.19. I configured a datasource via the Tomcat Admin
>>tool to configure a datatsource listed below is the server.xml file
>>settings for the datasource
>>
>><GlobalNamingResources>
>>
>>   <Resource name="jdbc/phone" auth="Container"
>>type="javax.sql.DataSource" description="Database for the phone
>>application" />
>>
>>   <ResourceParams name="jdbc/phone">
>>
>>           <parameter>
>>
>>           <name>maxWait</name>
>>
>>           <value>5000</value>
>>
>>           </parameter>
>>
>>           <parameter>
>>
>>           <name>maxActive</name>
>>
>>           <value>4</value>
>>
>>           </parameter>
>>
>>           <parameter>
>>
>>           <name>password</name>
>>
>>           <value></value>
>>
>>           </parameter>
>>
>>           <parameter>
>>
>>           <name>url</name>
>>
>>           <value>jdbc:hsqldb.hsql://localhost</value>
>>
>>           </parameter>
>>
>>           <parameter>
>>
>>           <name>driverClassName</name>
>>
>>           <value>org.hsqldb.jdbcDriver</value>
>>
>>           </parameter>
>>
>>           <parameter>
>>
>>           <name>maxIdle</name>
>>
>>           <value>2</value>
>>
>>           </parameter>
>>
>>           <parameter>
>>
>>           <name>username</name>
>>
>>           <value>sa</value>
>>
>>           </parameter>
>>
>>   </ResourceParams>
>>
>> </GlobalNamingResources>
>>
>>
>>
>>However when I try to access the datasource from a jsp file I get the
>>following error
>>
>>2004-07-26 10:42:19 StandardWrapperValve[jsp]: Servlet.service() for
>>servlet jsp threw exception
>>
>>javax.naming.NameNotFoundException: Name jdbc/phone is not bound in
>>    
>>
>this
>  
>
>>Context
>>
>>
>>
>>Code snippet listed below
>>
>><% InitialContext ctx = new InitialContext(); 
>>
>>     DataSource ds =
>>(DataSource)ctx.lookup("java:comp/env/jdbc/phone");
>>
>>     Connection conn = ds.getConnection();
>>
>>     try{
>>
>>
>>
>>Any suggestions on what can be causing this error. Why isn't in the
>>context and how do I bind it to the context?
>>
>>
>>
>>
>>
>>
>> 
>>
>>    
>>
>
>  
>

-- 
Brice Ruth, Sr. IT Analyst
Fiskars Brands Inc
http://www.fiskarsbrands.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message