Hi, I am getting following error while creating Connection Pool using above code:
Error Caught while creating a connection in EPP dB: = org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory, cause: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=135290880)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) Please Help !! Regards Abhay -----Original Message----- From: Andy Grove [mailto:[EMAIL PROTECTED] Sent: Monday, April 05, 2004 9:22 AM To: Tomcat Users List Subject: Re: Cannot create JDBC driver of class '' for connect URL 'null' I found the problem. To get it working I needed to have the <Resource> and <ResourceParams> in the Global section and then add a <ResourceLink> in the context for my webapp. This enabled Tomcat to resolve the parameters. I've posted my config files here for anyone interested: http://www.codefutures.com/weblog/openknowledge/archives/000077.html On Mon, 2004-04-05 at 15:08, Andy Grove wrote: > Thanks Harry but the problem is that it is not even trying to load the > Postgres driver - it is not getting that far. It is trying to load > JDBC driver class '' (empty string) and is trying to access JDBC URL > of 'null'. It seems that the ResourceParams section is not being used. > > I do have the postgres jar deployed to common/lib. > > Thanks. > > On Mon, 2004-04-05 at 14:52, Harry Mantheakis wrote: > > > Hello > > > > > > > My web.xml contains: > > > > > > That looks the same as mine (which works) so no problem there. You > > do not actually *need* this element in the deployment descriptor if > > you are using Tomcat 5, but it makes your code portable, should you > > ever (God forbid!) switch to another servlet container. > > > > > > > My $TOMCAT_HOME/conf/server.xml contains the following... > > > > > > BTW, it is $CATALINA_HOME that matters - $TOMCAT_HOME is not used. > > > > Looking at your resource definitions, this sub-element: > > > > > > <parameter> > > <name>url</name> > > <value> > > jdbc:postgresql://localhost/mydb > > </value> > > </parameter> > > > > > > Maybe should read: > > > > > > <parameter> > > <name>url</name> > > <value> > > jdbc:postgresql://localhost:5432/mydb > > </value> > > </parameter> > > > > > > Mine, at least, needs a port number to be specified. > > > > The rest of the resource element looks okay to me. Also, your > > look-up code looks good too, so my only guess is that you have > > forgotten to put the PostgreSQL JDBC driver under the container's > > classpath. > > > > You probably have the driver located under your application's > > 'WEB-INF/lib' directory. > > > > Try placing the driver in the '$CATALINA_HOME/common/lib' directory, > > but do not have it both places! (Remove it from the 'WEB-INF/lib' > > directory.) > > > > Also, make sure you have a driver named 'pg74.1jdbc3.jar'. The one > > that comes bundled with the PostgreSQL 7.4 RPM is out of date. You > > can download the 7.4 driver from PG's JDBC site. > > > > Good luck. > > > > Harry Mantheakis > > London, UK > > > > > > > > > > > Hi, > > > > > > I am trying to convert my Tomcat web application to use JNDI to > > > lookup a DataSource rather than using DriverManager directly. My > > > application works fine using DriverManager so I know I have my > > > classpath set up correctly. > > > > > > The problem I have seems to be a very common one yet I cannot find > > > a solution to it using Google. I am getting the following error > > > message when I attempt to look up a DataSource: > > > > > > Cannot create JDBC driver of class '' for connect URL 'null' > > > > > > This implies to me that Tomcat is recognizing my <Resource> > > > declaration in my conf/server.xml but is not loading the > > > associated <ResourceParams>. I get this problem with Tomcat 4.1 > > > and 5.0 on Red Hat 9 with Sun JDK 1.4.2. > > > > > > My web.xml contains: > > > > > > <resource-ref> > > > <description>DB Connection</description> > > > <res-ref-name>jdbc/mydb</res-ref-name> > > > <res-type>javax.sql.DataSource</res-type> > > > <res-auth>Container</res-auth> > > > </resource-ref> > > > > > > My $TOMCAT_HOME/conf/server.xml contains the following (I have > > > tried defining this within the context of my webapp and also in > > > the GlobalNamingResources section). > > > > > > <Resource name="jdbc/mydb" auth="Container" > > > type="javax.sql.DataSource" /> > > > > > > <ResourceParams name="jdbc/mydb"> > > > <parameter> > > > <name>factory</name> > > > <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> > > > </parameter> > > > <parameter> > > > <name>maxActive</name> > > > <value>100</value> > > > </parameter> > > > <parameter> > > > <name>maxIdle</name> > > > <value>30</value> > > > </parameter> > > > <parameter> > > > <name>maxWait</name> > > > <value>10000</value> > > > </parameter> > > > <parameter> > > > <name>username</name> > > > <value>ebay</value> > > > </parameter> > > > <parameter> > > > <name>password</name> > > > <value></value> > > > </parameter> > > > <parameter> > > > <name>driverClassName</name> > > > <value>org.postgresql.Driver</value> > > > </parameter> > > > <parameter> > > > <name>url</name> > > > <value>jdbc:postgresql://localhost/mydb</value> > > > </parameter> > > > </ResourceParams> > > > > > > Lastly, my Java code is as follows: > > > > > > InitialContext initCtx = new InitialContext(); > > > Object obj = initCtx.lookup( "java:comp/env/jdbc/mydb" ); > > > DataSource ds = (DataSource) obj; return ds.getConnection(); > > > > > > Does anyone have JNDI working with Tomcat? Any help would be much > > > appreciated! > > > > > > Thanks, > > > > > > Andy Grove. > > > > > > > > > > > > -------------------------------------------------------------------- > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
