Thread: PGConnection (LargeObject) / JNDI Tomcat Issue

PGConnection (LargeObject) / JNDI Tomcat Issue

From
Marc SCHNEIDER
Date:
Hello,

I have trouble to get Tomcat and JDBC work with LargeObject.

I am using JNDI for database access

 <Resource name="jdbc/aguila" auth="Container" type="java.sql.DataSource"/>
    <ResourceParams name="jdbc/aguila">
        <parameter>
            <name>factory</name>
            <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
    <parameter>
        <name>driverClassName</name>
        <value>org.postgresql.Driver</value>
    </parameter>
    <parameter>
        <name>url</name>
        <value>jdbc:postgresql://localhost:5432/intradev</value>
    </parameter>
    <parameter>
        <name>username</name>
        <value>myuser</value>
    </parameter>
    <parameter>
        <name>password</name>
        <value>mypass</value>
    </parameter>
    </ResourceParams>

Here is my code :

      LargeObjectManager lom = ((org.postgresql.PGConnection)this.connection).getLargeObjectAPI();

I get the following error :

java.lang.ClassCastException
This is because the connection is an instance of org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
and I'm trying to get a org.postgresql.PGConnection connection.

I saw on the web that people used org.postgresql.jdbc3.Jdbc3ObjectFactory but this class is available with jdbc 7.x
driversonly. 

I tried to use the org.postgresql.ds.common.PGObjectFactory class but when I connect to the database I get the
followingerror : 
"no PostgreSQL user name specified in startup packet"

Here is my config :
DB : PostgreSQL 8.0
Driver jdbc : postgresql-8.0-312.jdbc3.jar
Java Server : Tomcat 5.0.28
Os : Win XP

Any idea ???

Regards,
Marc SCHNEIDER.
__________________________________________________________________________
Erweitern Sie FreeMail zu einem noch leistungsstärkeren E-Mail-Postfach!
Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131


Re: PGConnection (LargeObject) / JNDI Tomcat Issue

From
Dave Cramer
Date:
Marc,

Check dbcp's documentation, there is a way to get the underlying
connection.

You will have to first cast to some dbcp connection, then get the
connection and cast it.

Dave
On 18-Jan-06, at 11:56 AM, Marc SCHNEIDER wrote:

> Hello,
>
> I have trouble to get Tomcat and JDBC work with LargeObject.
>
> I am using JNDI for database access
>
>  <Resource name="jdbc/aguila" auth="Container"
> type="java.sql.DataSource"/>
>     <ResourceParams name="jdbc/aguila">
>         <parameter>
>             <name>factory</name>
>             <value>org.apache.commons.dbcp.BasicDataSourceFactory</
> value>
>         </parameter>
>     <parameter>
>         <name>driverClassName</name>
>         <value>org.postgresql.Driver</value>
>     </parameter>
>     <parameter>
>         <name>url</name>
>         <value>jdbc:postgresql://localhost:5432/intradev</value>
>     </parameter>
>     <parameter>
>         <name>username</name>
>         <value>myuser</value>
>     </parameter>
>     <parameter>
>         <name>password</name>
>         <value>mypass</value>
>     </parameter>
>     </ResourceParams>
>
> Here is my code :
>
>       LargeObjectManager lom = ((org.postgresql.PGConnection)
> this.connection).getLargeObjectAPI();
>
> I get the following error :
>
> java.lang.ClassCastException
> This is because the connection is an instance of
> org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
> and I'm trying to get a org.postgresql.PGConnection connection.
>
> I saw on the web that people used
> org.postgresql.jdbc3.Jdbc3ObjectFactory but this class is available
> with jdbc 7.x drivers only.
>
> I tried to use the org.postgresql.ds.common.PGObjectFactory class
> but when I connect to the database I get the following error :
> "no PostgreSQL user name specified in startup packet"
>
> Here is my config :
> DB : PostgreSQL 8.0
> Driver jdbc : postgresql-8.0-312.jdbc3.jar
> Java Server : Tomcat 5.0.28
> Os : Win XP
>
> Any idea ???
>
> Regards,
> Marc SCHNEIDER.
> ______________________________________________________________________
> ____
> Erweitern Sie FreeMail zu einem noch leistungsstärkeren E-Mail-
> Postfach!
> Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>


Re: PGConnection (LargeObject) / JNDI Tomcat Issue

From
Mark Lewis
Date:
Marc,

Here's some sample code:

PGConnection pgCon =
(PGConnection)((DelegatingConnection)con).getInnermostDelegate();

-- Mark Lewis

On Wed, 2006-01-18 at 12:37 -0500, Dave Cramer wrote:
> Marc,
>
> Check dbcp's documentation, there is a way to get the underlying
> connection.
>
> You will have to first cast to some dbcp connection, then get the
> connection and cast it.
>
> Dave
> On 18-Jan-06, at 11:56 AM, Marc SCHNEIDER wrote:
>
> > Hello,
> >
> > I have trouble to get Tomcat and JDBC work with LargeObject.
> >
> > I am using JNDI for database access
> >
> >  <Resource name="jdbc/aguila" auth="Container"
> > type="java.sql.DataSource"/>
> >     <ResourceParams name="jdbc/aguila">
> >         <parameter>
> >             <name>factory</name>
> >             <value>org.apache.commons.dbcp.BasicDataSourceFactory</
> > value>
> >         </parameter>
> >     <parameter>
> >         <name>driverClassName</name>
> >         <value>org.postgresql.Driver</value>
> >     </parameter>
> >     <parameter>
> >         <name>url</name>
> >         <value>jdbc:postgresql://localhost:5432/intradev</value>
> >     </parameter>
> >     <parameter>
> >         <name>username</name>
> >         <value>myuser</value>
> >     </parameter>
> >     <parameter>
> >         <name>password</name>
> >         <value>mypass</value>
> >     </parameter>
> >     </ResourceParams>
> >
> > Here is my code :
> >
> >       LargeObjectManager lom = ((org.postgresql.PGConnection)
> > this.connection).getLargeObjectAPI();
> >
> > I get the following error :
> >
> > java.lang.ClassCastException
> > This is because the connection is an instance of
> > org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
> > and I'm trying to get a org.postgresql.PGConnection connection.
> >
> > I saw on the web that people used
> > org.postgresql.jdbc3.Jdbc3ObjectFactory but this class is available
> > with jdbc 7.x drivers only.
> >
> > I tried to use the org.postgresql.ds.common.PGObjectFactory class
> > but when I connect to the database I get the following error :
> > "no PostgreSQL user name specified in startup packet"
> >
> > Here is my config :
> > DB : PostgreSQL 8.0
> > Driver jdbc : postgresql-8.0-312.jdbc3.jar
> > Java Server : Tomcat 5.0.28
> > Os : Win XP
> >
> > Any idea ???
> >
> > Regards,
> > Marc SCHNEIDER.
> > ______________________________________________________________________
> > ____
> > Erweitern Sie FreeMail zu einem noch leistungsstärkeren E-Mail-
> > Postfach!
> > Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
> >
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 5: don't forget to increase your free space map settings
> >
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq

Re: PGConnection (LargeObject) / JNDI Tomcat Issue

From
Marc SCHNEIDER
Date:
"Marc SCHNEIDER" <marco_2025@web.de> schrieb am 19.01.06 10:52:49:

Hello,

Thank you for your answers, it really helps me.
So the solution with getInnermostDelegate() method works.
Just don't forget to put the dbcp property 'accessToUnderlyingConnectionAllowed' to true before.

But I will post another message with a different topic :
I wonder which class in the jdbc driver you can use if you want to replace the
org.apache.commons.dbcp.BasicDataSourceFactoryone. 

Thank you,
Marc.

Mark Lewis <mark.lewis@mir3.com> schrieb am 18.01.06 20:14:03:

Marc,

Here's some sample code:

PGConnection pgCon =
(PGConnection)((DelegatingConnection)con).getInnermostDelegate();

-- Mark Lewis

On Wed, 2006-01-18 at 12:37 -0500, Dave Cramer wrote:
> Marc,
>
> Check dbcp's documentation, there is a way to get the underlying
> connection.
>
> You will have to first cast to some dbcp connection, then get the
> connection and cast it.
>
> Dave
> On 18-Jan-06, at 11:56 AM, Marc SCHNEIDER wrote:
>
> > Hello,
> >
> > I have trouble to get Tomcat and JDBC work with LargeObject.
> >
> > I am using JNDI for database access
> >
> >  <Resource name="jdbc/aguila" auth="Container"
> > type="java.sql.DataSource"/>
> >     <ResourceParams name="jdbc/aguila">
> >         <parameter>
> >             <name>factory</name>
> >             <value>org.apache.commons.dbcp.BasicDataSourceFactory</
> > value>
> >         </parameter>
> >     <parameter>
> >         <name>driverClassName</name>
> >         <value>org.postgresql.Driver</value>
> >     </parameter>
> >     <parameter>
> >         <name>url</name>
> >         <value>jdbc:postgresql://localhost:5432/intradev</value>
> >     </parameter>
> >     <parameter>
> >         <name>username</name>
> >         <value>myuser</value>
> >     </parameter>
> >     <parameter>
> >         <name>password</name>
> >         <value>mypass</value>
> >     </parameter>
> >     </ResourceParams>
> >
> > Here is my code :
> >
> >       LargeObjectManager lom = ((org.postgresql.PGConnection)
> > this.connection).getLargeObjectAPI();
> >
> > I get the following error :
> >
> > java.lang.ClassCastException
> > This is because the connection is an instance of
> > org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
> > and I'm trying to get a org.postgresql.PGConnection connection.
> >
> > I saw on the web that people used
> > org.postgresql.jdbc3.Jdbc3ObjectFactory but this class is available
> > with jdbc 7.x drivers only.
> >
> > I tried to use the org.postgresql.ds.common.PGObjectFactory class
> > but when I connect to the database I get the following error :
> > "no PostgreSQL user name specified in startup packet"
> >
> > Here is my config :
> > DB : PostgreSQL 8.0
> > Driver jdbc : postgresql-8.0-312.jdbc3.jar
> > Java Server : Tomcat 5.0.28
> > Os : Win XP
> >
> > Any idea ???
> >
> > Regards,
> > Marc SCHNEIDER.
> > ______________________________________________________________________
> > ____
> > Erweitern Sie FreeMail zu einem noch leistungsstärkeren E-Mail-
> > Postfach!
> > Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
> >
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 5: don't forget to increase your free space map settings
> >
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to majordomo@postgresql.org so that your
       message can get through to the mailing list cleanly




__________________________________________________________________________
Erweitern Sie FreeMail zu einem noch leistungsstarkeren E-Mail-Postfach!
Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131


Re: PGConnection (LargeObject) / JNDI Tomcat Issue

From
"peter.penzov"
Date:
I have the same issue. I tried to use PGConnection pgCon
=(PGConnection)((DelegatingConnection)conn).getInnermostDelegate();

But I get

Caused by: java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper
cannot be cast to org.apache.commons.dbcp.DelegatingConnection

I use 9.2-1002.jdbc4 and Tomcat 8.

Can you propose some solution?



--
View this message in context:
http://postgresql.nabble.com/PGConnection-LargeObject-JNDI-Tomcat-Issue-tp2169889p5901537.html
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.


Re: PGConnection (LargeObject) / JNDI Tomcat Issue

From
"peter.penzov"
Date:
I have the same issue. I tried to use PGConnection pgCon
=(PGConnection)((DelegatingConnection)conn).getInnermostDelegate();

But I get

Caused by: java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper
cannot be cast to org.apache.commons.dbcp.DelegatingConnection

I use 9.2-1002.jdbc4 and Tomcat 8.

Can you propose some solution?



--
View this message in context:
http://postgresql.nabble.com/PGConnection-LargeObject-JNDI-Tomcat-Issue-tp2169889p5901537.html
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.


Re: PGConnection (LargeObject) / JNDI Tomcat Issue

From
Dave Cramer
Date:
I would suggest you use the latest driver to start with


On 2 May 2016 at 14:55, peter.penzov <peter.penzov@gmail.com> wrote:
I have the same issue. I tried to use PGConnection pgCon
=(PGConnection)((DelegatingConnection)conn).getInnermostDelegate();

But I get

Caused by: java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper
cannot be cast to org.apache.commons.dbcp.DelegatingConnection

I use 9.2-1002.jdbc4 and Tomcat 8.

Can you propose some solution?



--
View this message in context: http://postgresql.nabble.com/PGConnection-LargeObject-JNDI-Tomcat-Issue-tp2169889p5901537.html
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.


--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc

Re: PGConnection (LargeObject) / JNDI Tomcat Issue

From
Dave Cramer
Date:
I would suggest you use the latest driver to start with


On 2 May 2016 at 14:55, peter.penzov <peter.penzov@gmail.com> wrote:
I have the same issue. I tried to use PGConnection pgCon
=(PGConnection)((DelegatingConnection)conn).getInnermostDelegate();

But I get

Caused by: java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper
cannot be cast to org.apache.commons.dbcp.DelegatingConnection

I use 9.2-1002.jdbc4 and Tomcat 8.

Can you propose some solution?



--
View this message in context: http://postgresql.nabble.com/PGConnection-LargeObject-JNDI-Tomcat-Issue-tp2169889p5901537.html
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.


--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc