Re: a little disillusioned - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: a little disillusioned
Date
Msg-id 1075293927.1611.359.camel@localhost.localdomain
Whole thread Raw
In response to Re: a little disillusioned  (Dave Cramer <pg@fastcrypt.com>)
Responses Re: a little disillusioned now tomcat 5
List 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

pgsql-jdbc by date:

Previous
From: Kris Jurka
Date:
Subject: Re: Bug receiving NotificationResponse Message v3
Next
From: Guido Fiala
Date:
Subject: Re: getting primary key values for inserted records?