only postgresqsl in connection pool - Mailing list pgsql-jdbc

From Nico
Subject only postgresqsl in connection pool
Date
Msg-id d2i7fs$1521$1@news.hub.org
Whole thread Raw
List pgsql-jdbc
Hello,
I have a servlet that runs on a postgresql-database. Or rather: that's what
I thought...
Let me start at the beginning. Originally, I made it in MySQL, but this
didn't meet my requirements: the version installed on the server didn't
support subqueries, so I switched to PostgreSQL. In the mean time, the
database was created in MySQL and in PostgreSQL.
When I get a connection, it connected to PostgreSQL. However, since I
connect to the database through a connectionpool - I think - I only get
connections from MySQL.
So here is my question:
how do I tell a java servlet I want a PostgreSQL connection - and not a
MySQL connection- from a connection pool? I changed the username & password
in the code for obvious security reasons...

Kind regards,
Nico.

Here is my code for connecting to the database:
    protected final static String strDbdriver = "org.postgresql.Driver";
    protected static void connect(String dbdriver, String methodname)
        throws DriverNotFoundException, ConnectionException
    {
        try
        {
            Class.forName(dbdriver);
            if(dbname==null)
                throw new
menus.ConnectionException(dbdriver,"connect","dbname is null.");
            if(dbname.equals(""))
                throw new menus.ConnectionException(dbdriver, "connect",
"dbname has empty string.");
            if(dbname.equals("null"))
                dbname="databasename";
            int connattempts=0;
            while(connattempts<=5)
            {
                try
                {
                    if(pool==null)
                    {
                        javax.naming.Context env=(javax.naming.Context)
                            new
javax.naming.InitialContext().lookup("java:comp/env");
                        pool=(DataSource)env.lookup("jdbc/"+dbname);
                    }
                    connection=pool.getConnection("username","password");
                    connattempts=8;
                }
                catch(NullPointerException fout)
                {
                    disconnect();
                    connattempts++;
                }
                catch(SQLException fout)
                {
                    disconnect();
                    connattempts++;
                }
            }
            if(connattempts!=8)
            {
                try
                {
                    connection =
DriverManager.getConnection("jdbc:postgresql://localhost/" +
                        dbname + "?user=username&password=password");
                }
                catch(SQLException fout)
                {
                    throw new menus.ConnectionException(strDbdriver,
methodname,"connection failed.");
                }
            }
            statementM1 = connection.createStatement();
            statementM2 = connection.createStatement();
            statementM3 = connection.createStatement();
            statementM4 = connection.createStatement();
            statementE1 = connection.createStatement();
            statementE2 = connection.createStatement();
            statementMeta = connection.createStatement();
        }
        catch(ClassNotFoundException exception)
        {
            throw new DriverNotFoundException(dbdriver,methodname);
        }
        catch(SQLException fout)
        {
            disconnect();
            throw new menus.ConnectionException(dbdriver,methodname,"cannot
create statements");
        }
        catch(NamingException fout)
        {
            disconnect();
            throw new menus.ConnectionException(dbdriver,
methodname,"namingexception: "+fout.getExplanation());
        }
    }



pgsql-jdbc by date:

Previous
From: Markus Schaber
Date:
Subject: Re: DDL in transactions?
Next
From: Giuseppe Sacco
Date:
Subject: Re: DDL in transactions?