Обсуждение: JDBC Driver in Glassfish 3.1.1
Hi: Before I spend your valuable time describing a recent problem I would like to know if postgresql-8.2-512.jdbc4.jar or postgresql-9.0-801.jdbc3.jar work with Glassfish 2.1.1 when the postgres data base (8.2) is remote with respect to the Glassfish 2.1.1 Application Server. Regards, -- Rich Rutkowski Petra Systems 1-888-513-3026 petrasys@mindspring.com rich@salepointdata.com
There should be no reason it would not work. Dave Cramer dave.cramer(at)credativ(dot)ca http://www.credativ.ca On Tue, Jan 24, 2012 at 12:45 AM, Petra Systems <petrasys@mindspring.com> wrote: > Hi: > Before I spend your valuable time describing a recent problem I would > like to know if postgresql-8.2-512.jdbc4.jar or postgresql-9.0-801.jdbc3.jar > work with Glassfish 2.1.1 when the postgres data base (8.2) is remote with > respect to the Glassfish 2.1.1 Application Server. > > Regards, > > -- > Rich Rutkowski > Petra Systems > 1-888-513-3026 > petrasys@mindspring.com > rich@salepointdata.com > > > -- > Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-jdbc
Hi: Below is the environment and a definition of the problem and other details. If this is not the proper location to post please advise. 1) Application Server is Glassfish 2.1.1 (problem was also observed with 3.1.1) running on a Solaris 10 x86 (AMD) with a ZFS file system. 2) Database Server is Solaris 10 x86 (AMD) running postgres 8.2 with a UFS file system. 3) The ear file consists of an Applet, a war file and an ejb jar. All have been built with Netbeans 7.1 using JDK 1.6. The application run environment is listed by Netbeans as EE 6. There is something strange in that the EE environment for the war file is listed by Netbeans as J2EE 1.4. 4) This application has been running for years with the postgres database on the same server as Glassfish. 5) When the database is remote the jndi lookup works but the ds.connection(userid,password) fails. The connection pool is setup with an XADatasource and ping is successful. Also, Netbeans can connect to the remote database and so can pgAdmin. 6) The exception thrown is not an SQLException and I added some more catch statements to try to unwind the exceptions. See code and stack trace attached. 7) The application is using EJB 2.1 technology with Bean Managed Persistence which currently is our preferred approach. The inability to make the connection occurs in both servlets and entity beans. The jndi lookup works but the ds.connect does not. Any help would be appreciated. Regards, Rich Rutkowski Petra Systems 1-888-513-3026 petrasys@mindspring.com rich@salepointdata.com On 01/24/12 04:04, Dave Cramer wrote: > There should be no reason it would not work. > > Dave Cramer > > dave.cramer(at)credativ(dot)ca > http://www.credativ.ca > > > > On Tue, Jan 24, 2012 at 12:45 AM, Petra Systems<petrasys@mindspring.com> wrote: >> Hi: >> Before I spend your valuable time describing a recent problem I would >> like to know if postgresql-8.2-512.jdbc4.jar or postgresql-9.0-801.jdbc3.jar >> work with Glassfish 2.1.1 when the postgres data base (8.2) is remote with >> respect to the Glassfish 2.1.1 Application Server. >> >> Regards, >> >> -- >> Rich Rutkowski >> Petra Systems >> 1-888-513-3026 >> petrasys@mindspring.com >> rich@salepointdata.com >> >> >> -- >> Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org) >> To make changes to your subscription: >> http://www.postgresql.org/mailpref/pgsql-jdbc
Вложения
On 01/26/2012 07:41 AM, Petra Systems wrote: > Hi: > Below is the environment and a definition of the problem and other details. If this is not the proper location to postplease advise. > > 1) Application Server is Glassfish 2.1.1 (problem was also observed with 3.1.1) running on a Solaris 10 x86 (AMD) witha ZFS file system. > > 2) Database Server is Solaris 10 x86 (AMD) running postgres 8.2 with a UFS file system. > > 3) The ear file consists of an Applet, a war file and an ejb jar. All have been built with Netbeans 7.1 using JDK 1.6.The application run environment is listed > by Netbeans as EE 6. There is something strange in that the EE environment for the war file is listed by Netbeans as J2EE1.4. > > 4) This application has been running for years with the postgres database on the same server as Glassfish. > > 5) When the database is remote the jndi lookup works but the ds.connection(userid,password) fails. The connection poolis setup with an XADatasource and ping is > successful. Also, Netbeans can connect to the remote database and so can pgAdmin. > > 6) The exception thrown is not an SQLException and I added some more catch statements to try to unwind the exceptions.See code and stack trace attached. > > 7) The application is using EJB 2.1 technology with Bean Managed Persistence which currently is our preferred approach.The inability to make the connection > occurs in both servlets and entity beans. The jndi lookup works but the ds.connect does not. > > Any help would be appreciated. What is your jdbc driver version (in the jar/war/ear)? The lowest exception seems to be: java.lang.AbstractMethodError: org.postgresql.jdbc3.Jdbc3Connection.getClientInfo()Ljava/util/Properties that the com.sun.gjc.spi.jdbc40.ConnectionHolder40.init is trying to invoke. The getClientInfo was only introduced in jdbc4. So my guess is that you have jdbc3 driver and you have configured a jdbc4 pooling on the server. If you upgrade to latest jdbc4 driver does it work? > Regards, > > Rich Rutkowski > Petra Systems > 1-888-513-3026 > petrasys@mindspring.com > rich@salepointdata.com > > > On 01/24/12 04:04, Dave Cramer wrote: >> There should be no reason it would not work. >> >> Dave Cramer >> >> dave.cramer(at)credativ(dot)ca >> http://www.credativ.ca >> >> >> >> On Tue, Jan 24, 2012 at 12:45 AM, Petra Systems<petrasys@mindspring.com> wrote: >>> Hi: >>> Before I spend your valuable time describing a recent problem I would >>> like to know if postgresql-8.2-512.jdbc4.jar or postgresql-9.0-801.jdbc3.jar >>> work with Glassfish 2.1.1 when the postgres data base (8.2) is remote with >>> respect to the Glassfish 2.1.1 Application Server. >>> >>> Regards, >>> >>> -- >>> Rich Rutkowski >>> Petra Systems >>> 1-888-513-3026 >>> petrasys@mindspring.com >>> rich@salepointdata.com
On Thu, 26 Jan 2012 09:59:50 +0200, Mikko Tiihonen wrote: > On 01/26/2012 07:41 AM, Petra Systems wrote: >> Hi: >> Below is the environment and a definition of the problem and other >> details. If this is not the proper location to post please advise. >> >> 1) Application Server is Glassfish 2.1.1 (problem was also observed >> with 3.1.1) running on a Solaris 10 x86 (AMD) with a ZFS file system. >> >> 2) Database Server is Solaris 10 x86 (AMD) running postgres 8.2 with >> a UFS file system. >> >> 3) The ear file consists of an Applet, a war file and an ejb jar. >> All have been built with Netbeans 7.1 using JDK 1.6. The application >> run environment is listed >> by Netbeans as EE 6. There is something strange in that the EE >> environment for the war file is listed by Netbeans as J2EE 1.4. >> >> 4) This application has been running for years with the postgres >> database on the same server as Glassfish. >> >> 5) When the database is remote the jndi lookup works but the >> ds.connection(userid,password) fails. The connection pool is setup >> with an XADatasource and ping is >> successful. Also, Netbeans can connect to the remote database and so >> can pgAdmin. >> >> 6) The exception thrown is not an SQLException and I added some more >> catch statements to try to unwind the exceptions. See code and stack >> trace attached. >> >> 7) The application is using EJB 2.1 technology with Bean Managed >> Persistence which currently is our preferred approach. The inability >> to make the connection >> occurs in both servlets and entity beans. The jndi lookup works but >> the ds.connect does not. >> >> Any help would be appreciated. > > What is your jdbc driver version (in the jar/war/ear)? > > The lowest exception seems to be: > java.lang.AbstractMethodError: > > org.postgresql.jdbc3.Jdbc3Connection.getClientInfo()Ljava/util/Properties > that the com.sun.gjc.spi.jdbc40.ConnectionHolder40.init is trying to > invoke. > > The getClientInfo was only introduced in jdbc4. > So my guess is that you have jdbc3 driver and you have configured a > jdbc4 pooling on the server. > > If you upgrade to latest jdbc4 driver does it work? > > >> Regards, >> >> Rich Rutkowski >> Petra Systems >> 1-888-513-3026 >> petrasys@mindspring.com >> rich@salepointdata.com >> >> >> On 01/24/12 04:04, Dave Cramer wrote: >>> There should be no reason it would not work. >>> >>> Dave Cramer >>> >>> dave.cramer(at)credativ(dot)ca >>> http://www.credativ.ca >>> >>> >>> >>> On Tue, Jan 24, 2012 at 12:45 AM, Petra >>> Systems<petrasys@mindspring.com> wrote: >>>> Hi: >>>> Before I spend your valuable time describing a recent problem I >>>> would >>>> like to know if postgresql-8.2-512.jdbc4.jar or >>>> postgresql-9.0-801.jdbc3.jar >>>> work with Glassfish 2.1.1 when the postgres data base (8.2) is >>>> remote with >>>> respect to the Glassfish 2.1.1 Application Server. >>>> >>>> Regards, >>>> >>>> -- >>>> Rich Rutkowski >>>> Petra Systems >>>> 1-888-513-3026 >>>> petrasys@mindspring.com >>>> rich@salepointdata.com I think this is old bug, and it's fixed (I don't see it). In first implementations of JDBC4 there was no this method or unimplemented exception has been thrown. Simple fix was to return empty result. Btw, for new Glassfish you need JDBC4 driver, GF do not allow to set JDBC version. Actually, I use original PG driver, and driver based on it with glassfish there is no problem with this method. Regards, Radek
Inconsistent drivers was my concern also and I thought I got rid of that problem and did a clean and build on all modules. I will check the actual jars and not just the data in Netbeans. I have seen some strange things from Netbeans. Regards, Rich Rutkowski Petra Systems 1-888-513-3026 petrasys@mindspring.com rich@salepointdata.com On 01/25/12 23:59, Mikko Tiihonen wrote: > On 01/26/2012 07:41 AM, Petra Systems wrote: >> Hi: >> Below is the environment and a definition of the problem and other >> details. If this is not the proper location to post please advise. >> >> 1) Application Server is Glassfish 2.1.1 (problem was also observed >> with 3.1.1) running on a Solaris 10 x86 (AMD) with a ZFS file system. >> >> 2) Database Server is Solaris 10 x86 (AMD) running postgres 8.2 with >> a UFS file system. >> >> 3) The ear file consists of an Applet, a war file and an ejb jar. All >> have been built with Netbeans 7.1 using JDK 1.6. The application run >> environment is listed >> by Netbeans as EE 6. There is something strange in that the EE >> environment for the war file is listed by Netbeans as J2EE 1.4. >> >> 4) This application has been running for years with the postgres >> database on the same server as Glassfish. >> >> 5) When the database is remote the jndi lookup works but the >> ds.connection(userid,password) fails. The connection pool is setup >> with an XADatasource and ping is >> successful. Also, Netbeans can connect to the remote database and so >> can pgAdmin. >> >> 6) The exception thrown is not an SQLException and I added some more >> catch statements to try to unwind the exceptions. See code and stack >> trace attached. >> >> 7) The application is using EJB 2.1 technology with Bean Managed >> Persistence which currently is our preferred approach. The inability >> to make the connection >> occurs in both servlets and entity beans. The jndi lookup works but >> the ds.connect does not. >> >> Any help would be appreciated. > > What is your jdbc driver version (in the jar/war/ear)? > > The lowest exception seems to be: > java.lang.AbstractMethodError: > org.postgresql.jdbc3.Jdbc3Connection.getClientInfo()Ljava/util/Properties > that the com.sun.gjc.spi.jdbc40.ConnectionHolder40.init is trying to > invoke. > > The getClientInfo was only introduced in jdbc4. > So my guess is that you have jdbc3 driver and you have configured a > jdbc4 pooling on the server. > > If you upgrade to latest jdbc4 driver does it work? > > >> Regards, >> >> Rich Rutkowski >> Petra Systems >> 1-888-513-3026 >> petrasys@mindspring.com >> rich@salepointdata.com >> >> >> On 01/24/12 04:04, Dave Cramer wrote: >>> There should be no reason it would not work. >>> >>> Dave Cramer >>> >>> dave.cramer(at)credativ(dot)ca >>> http://www.credativ.ca >>> >>> >>> >>> On Tue, Jan 24, 2012 at 12:45 AM, Petra >>> Systems<petrasys@mindspring.com> wrote: >>>> Hi: >>>> Before I spend your valuable time describing a recent problem I would >>>> like to know if postgresql-8.2-512.jdbc4.jar or >>>> postgresql-9.0-801.jdbc3.jar >>>> work with Glassfish 2.1.1 when the postgres data base (8.2) is >>>> remote with >>>> respect to the Glassfish 2.1.1 Application Server. >>>> >>>> Regards, >>>> >>>> -- >>>> Rich Rutkowski >>>> Petra Systems >>>> 1-888-513-3026 >>>> petrasys@mindspring.com >>>> rich@salepointdata.com >
Hi: I moved from the 8.2-512.JDBC4 driver to the 9.1-901.JDBC4 driver and it now appears to work with Glassfish 2.1.1. Thanks for the help. Regards, Rich Rutkowski Petra Systems 1-888-513-3026 petrasys@mindspring.com rich@salepointdata.com On 01/26/12 02:44, Radosław Smogura wrote: > On Thu, 26 Jan 2012 09:59:50 +0200, Mikko Tiihonen wrote: >> On 01/26/2012 07:41 AM, Petra Systems wrote: >>> Hi: >>> Below is the environment and a definition of the problem and other >>> details. If this is not the proper location to post please advise. >>> >>> 1) Application Server is Glassfish 2.1.1 (problem was also observed >>> with 3.1.1) running on a Solaris 10 x86 (AMD) with a ZFS file system. >>> >>> 2) Database Server is Solaris 10 x86 (AMD) running postgres 8.2 with >>> a UFS file system. >>> >>> 3) The ear file consists of an Applet, a war file and an ejb jar. >>> All have been built with Netbeans 7.1 using JDK 1.6. The application >>> run environment is listed >>> by Netbeans as EE 6. There is something strange in that the EE >>> environment for the war file is listed by Netbeans as J2EE 1.4. >>> >>> 4) This application has been running for years with the postgres >>> database on the same server as Glassfish. >>> >>> 5) When the database is remote the jndi lookup works but the >>> ds.connection(userid,password) fails. The connection pool is setup >>> with an XADatasource and ping is >>> successful. Also, Netbeans can connect to the remote database and so >>> can pgAdmin. >>> >>> 6) The exception thrown is not an SQLException and I added some more >>> catch statements to try to unwind the exceptions. See code and stack >>> trace attached. >>> >>> 7) The application is using EJB 2.1 technology with Bean Managed >>> Persistence which currently is our preferred approach. The inability >>> to make the connection >>> occurs in both servlets and entity beans. The jndi lookup works but >>> the ds.connect does not. >>> >>> Any help would be appreciated. >> >> What is your jdbc driver version (in the jar/war/ear)? >> >> The lowest exception seems to be: >> java.lang.AbstractMethodError: >> >> org.postgresql.jdbc3.Jdbc3Connection.getClientInfo()Ljava/util/Properties >> >> that the com.sun.gjc.spi.jdbc40.ConnectionHolder40.init is trying to >> invoke. >> >> The getClientInfo was only introduced in jdbc4. >> So my guess is that you have jdbc3 driver and you have configured a >> jdbc4 pooling on the server. >> >> If you upgrade to latest jdbc4 driver does it work? >> >> >>> Regards, >>> >>> Rich Rutkowski >>> Petra Systems >>> 1-888-513-3026 >>> petrasys@mindspring.com >>> rich@salepointdata.com >>> >>> >>> On 01/24/12 04:04, Dave Cramer wrote: >>>> There should be no reason it would not work. >>>> >>>> Dave Cramer >>>> >>>> dave.cramer(at)credativ(dot)ca >>>> http://www.credativ.ca >>>> >>>> >>>> >>>> On Tue, Jan 24, 2012 at 12:45 AM, Petra >>>> Systems<petrasys@mindspring.com> wrote: >>>>> Hi: >>>>> Before I spend your valuable time describing a recent problem I would >>>>> like to know if postgresql-8.2-512.jdbc4.jar or >>>>> postgresql-9.0-801.jdbc3.jar >>>>> work with Glassfish 2.1.1 when the postgres data base (8.2) is >>>>> remote with >>>>> respect to the Glassfish 2.1.1 Application Server. >>>>> >>>>> Regards, >>>>> >>>>> -- >>>>> Rich Rutkowski >>>>> Petra Systems >>>>> 1-888-513-3026 >>>>> petrasys@mindspring.com >>>>> rich@salepointdata.com > > I think this is old bug, and it's fixed (I don't see it). In first > implementations of JDBC4 there was no this method or unimplemented > exception has been thrown. Simple fix was to return empty result. Btw, > for new Glassfish you need JDBC4 driver, GF do not allow to set JDBC > version. > > Actually, I use original PG driver, and driver based on it with > glassfish there is no problem with this method. > > Regards, > Radek >