Re: a little disillusioned

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: David Wilbur <wildboar(at)cybermesa(dot)com>
Cc: "pgsql-jdbc (at) postgresql " "(dot) org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: a little disillusioned
Date: 2004-01-28 12:45:27
Message-ID: 1075293927.1611.359.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Note, this is on a tomcat 4 server, and web.xml was not changed,

I also dropped your example code into the classes dir of the web
context, and a small test.jsp file in the jsp dir of the web context..

Also reading the tomcat docs:

NOTE:Third Party drivers should be in jarfiles, not zipfiles. Tomcat
only adds $CATALINA_HOME/common/lib/*.jar to the classpath.
NOTE: Do not install these jarfiles in your /WEB-INF/lib, or
$JAVA_HOME/jre/lib/ext, or anywhere else. You will experience
problems if you install them anyplace other than
$CATALINA_HOME/common/lib.

Dave

On Tue, 2004-01-27 at 23:45, Dave Cramer wrote:
> attached is a working server.xml. The context that has the jdbc
> datasource is /examples
>
> I placed the postgresql.jar into common, however I expect it would work
> in other places.
>
> Dave
>
>
> On Tue, 2004-01-27 at 20:46, David Wilbur wrote:
> > at the risk of being over kill ... i started over from scratch after
> > getting the mysql version working... on the first try.
> >
> >
> >
> > here is the layout of the files in the project directory i have (and is
> > the same for the mysql project except it is DBTest)
> >
> > ./build
> > ./build/index.jsp
> > ./build/WEB-INF
> > ./build/WEB-INF/classes
> > ./build/WEB-INF/classes/foo
> > ./build/WEB-INF/classes/foo/PGTest.class
> > ./build/WEB-INF/lib
> > ./build/WEB-INF/web.xml
> > ./build.xml
> > ./src
> > ./src/foo
> > ./src/foo/PGTest.java
> > ./web
> > ./web/index.jsp
> > ./web/WEB-INF
> > ./web/WEB-INF/web.xml
> >
> >
> > the build.xml file has one line changed in it from the one that the
> > tomcat doc suggests you use:
> >
> > <property name="catalina.home" value="/usr/local/jakarta/tomcat"/>
> >
> >
> > after i build i
> >
> > cp -r build $CATALINA_HOME/webapps/PGTest
> >
> > and then
> >
> > $CATALINA_HOME/bin/startup.sh
> >
> > which results in the page saying that you are not connected... but in
> > reality is not finding the driver if i place a try block around
> > Connection conn = ds.getConnection();
> >
> >
> >
> >
> >
> > here are the relevant files in the reworked version:
> >
> >
> > more ./web/WEB-INF/web.xml
> >
> >
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> > <!DOCTYPE web-app PUBLIC
> > "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> > "http://java.sun.com/dtd/web-app_2_3.dtd">
> > <web-app>
> > <description>PostgreSQL Test App</description>
> > <resource-ref>
> > <description>PG DB Connection</description>
> > <res-ref-name>jdbc/TestPG</res-ref-name>
> > <res-type>javax.sql.DataSource</res-type>
> > <res-auth>Container</res-auth>
> > </resource-ref>
> > </web-app>
> >
> >
> >
> > more ./web/index.jsp
> >
> >
> > <html>
> > <head>
> > <title>PG Test</title>
> > </head>
> > <body>
> >
> > <%
> > foo.PGTest tst = new foo.PGTest();
> > tst.init();
> > %>
> >
> > <h2>Results</h2>
> > Foo <%= tst.getFoo() %><br/>
> > Bar <%= tst.getBar() %>
> >
> > </body>
> > </html>
> >
> >
> >
> > more ./src/foo/PGTest.java
> >
> >
> > package foo;
> >
> > import javax.naming.*;
> > import javax.sql.*;
> > import java.sql.*;
> >
> > public class PGTest {
> >
> > String foo = "Not Connected";
> > int bar = -1;
> >
> > public void init() {
> > try{
> > Context ctx = new InitialContext();
> > if(ctx == null )
> > throw new Exception("Boom - No Context");
> >
> > DataSource ds =
> > (DataSource)ctx.lookup(
> > "java:comp/env/jdbc/TestPG");
> >
> > if (ds != null) {
> > Connection conn = ds.getConnection();
> >
> > if(conn != null) {
> > foo = "Got Connection "+conn.toString();
> > Statement stmt = conn.createStatement();
> > ResultSet rst =
> > stmt.executeQuery(
> > "select id, foo, bar from testdata");
> > if(rst.next()) {
> > foo=rst.getString(2);
> > bar=rst.getInt(3);
> > }
> > conn.close();
> > }
> > }
> > }catch(Exception e) {
> > e.printStackTrace();
> > }
> > }
> >
> > public String getFoo() { return foo; }
> > public int getBar() { return bar;}
> > }
> >
> >
> >
> > cat /usr/local/jakarta/tomcat/conf/server.xml
> >
> > [snip]
> >
> > <Context path="/PGTest" docBase="PGTest" debug="5" reloadable="true"
> > crossContext="true">
> >
> > <Logger className="org.apache.catalina.logger.FileLogger"
> > prefix="localhost_PGTest_log." suffix=".txt" timestamp="true"/>
> >
> > <Resource name="jdbc/TestPG" auth="Container"
> > type="javax.sql.DataSource"/>
> >
> > <ResourceParams name="jdbc/TestPG">
> > <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>jakarta</value>
> > </parameter>
> > <parameter>
> > <name>password</name>
> > <value>tomcat</value>
> > </parameter>
> >
> > <parameter>
> > <name>driverClassName</name>
> > <value>org.postgres.Driver</value>
> > </parameter>
> >
> > <parameter>
> > <name>url</name>
> > <value>jdbc:postgresql://127.0.0.1:5432/test</value>
> > </parameter>
> > </ResourceParams>
> > </Context>
> >
> > [snip]
> >
> >
> >
> > here is the environment that the server is started with:
> >
> >
> >
> > ANT_HOME=/usr/local/jakarta/ant
> > BASH=/bin/bash
> > BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release"
> > [5]="powerpc-apple-darwin7.0")
> > BASH_VERSION='2.05b.0(1)-release'
> > CATALINA_HOME=/usr/local/jakarta/tomcat
> > CLASSPATH=/Library/Java/Home/lib:/usr/local/jakarta/ant/lib
> > COLUMNS=141
> > DIRSTACK=()
> > DYLD_LIBRARY_PATH=/usr/local/lib:/usr/X11R6/lib:/usr/lib:/usr/local/
> > pgsql/lib:/usr/local/mysql/lib
> > EUID=504
> > GROUPS=()
> > HISTFILE=/Users/jakarta/.bash_history
> > HISTFILESIZE=500
> > HISTSIZE=500
> > HOME=/Users/jakarta
> > HOSTNAME=Halley.local
> > HOSTTYPE=powerpc
> > IFS=$' \t\n'
> > JAVA_HOME=/Library/Java/Home
> > LINES=76
> > MACHTYPE=powerpc-apple-darwin7.0
> > MAILCHECK=60
> > MANPATH=/usr/local/man:/usr/X11R6/man:/usr/share/man:/usr/local/pgsql/
> > man:/usr/local/mysql/man
> > MYSQL_DATA=/usr/local/mysql/var
> > MYSQL_HOME=/usr/local/mysql
> > OLDPWD=/Users/jakarta/Projects
> > OPTERR=1
> > OPTIND=1
> > OSTYPE=darwin7.0
> > PATH=/usr/local/bin:/usr/X11R6/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/
> > local/jakarta/ant/bin:/usr/local/pgsql/bin:/usr/local/mysql/bin
> > PGDATA=/usr/local/pgsql/data
> > PGHOME=/usr/local/pgsql
> > PIPESTATUS=([0]="0")
> > PPID=8049
> > PS1='\h:\w \u\$ '
> > PS2='> '
> > PS4='+ '
> > PWD=/Users/jakarta/Projects/jakarta
> > SHARED_SETUP_FILES=/usr/local/share/setup
> > SHELL=/bin/bash
> > SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-
> > comments:monitor
> > SHLVL=1
> > TERM=xterm-color
> > UID=504
> > USER=jakarta
> > _=pgtest.junk/src/foo/DBTest.java
> >
> >
> >
> > here is an example that demonstrates that out of tomcat that the
> > postgres.jar that is in the proper place for tomcat works for a
> > regular java app and that the account and url in the xml files are
> > correct:
> >
> > echo $CLASSPATH
> > /Library/Java/Home/lib:/usr/local/jakarta/ant/lib
> >
> > export
> > CLASSPATH=${CLASSPATH}:/usr/local/jakarta/tomcat/common/lib/
> > postgresql.jar:.
> >
> > javac -classpath ${CLASSPATH} example/basic.java
> > Note: example/basic.java uses or overrides a deprecated API.
> > Note: Recompile with -deprecation for details.
> >
> > java example.basic jdbc:postgresql://127.0.0.1:5432/test jakarta tomcat
> > PostgreSQL basic test v6.3 rev 1
> >
> > Connecting to Database URL = jdbc:postgresql://127.0.0.1:5432/test
> > Connected...Now creating a statement
> >
> > Running tests:
> > Inserted row with oid 17246
> > Updated 4 rows
> > deleted 2 rows
> > performing a query
> > a=3 b=8
> > a=4 b=8
> > a=4 b=2
> > a=4 b=3
> > a=4 b=4
> > performing another query
> > a=3 b=8
> > a=4 b=8
> > a=4 b=2
> > a=4 b=3
> > a=4 b=4
> > performing a query limited to 3
> > a=3 b=8
> > a=4 b=8
> > a=4 b=2
> > Now closing the connection
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 4: Don't 'kill -9' the postmaster
> >
--
Dave Cramer
519 939 0336
ICQ # 1467551

Attachment Content-Type Size
test.jsp text/html 341 bytes
DBTest.java text/x-java 1.2 KB

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2004-01-28 13:13:50 Re: a little disillusioned now tomcat 5
Previous Message Kris Jurka 2004-01-28 12:27:45 Re: Bug receiving NotificationResponse Message v3