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: