Hello All!

Our team here has written a simple Connection Pool
class that is a singleton.

I've noticed that whenever Tomcat reloads my webapps
context (when I add a new class or something like
that), that it the next call to the Connection Pool
get instance method doesn't see the previous
singleton, and hence, it allocates a bunch of new
connections.

This would be fine, except that the old connections
are never closed (it seems that the Garbage Collector
doesn't eat them up) so I think that the old instance
of the singleton is still floating around in the JVM
somewhere.

This causes all the free sessions on the Database to
be eaten up, forcing a restart of tomcat.  Once tomcat
is restarted, all the connections are closed out
(since the JVM terminated, I guess) and things are
fine again.

What do I need to do so that the old connections are
removed?  This is on Tomcat 3.3.1a.  Here is the
relevent code of the Singleton getInstance method:

    public static synchronized ConnectionPool
getInstance(ConnectionPoolConstants c) throws
SQLException {

        constants = c;

        if (instance == null) {
            // Determine which database url to connect
            db_url = constants.getTestDBURL();
            String line = "";
            try {
                Vector return_vec =
DelphiRuntime.execCommandWithOut("hostname");
                Enumeration return_enum =
return_vec.elements();
                while (return_enum.hasMoreElements())
{
                    line = (String)
return_enum.nextElement();
                }
            } catch (InterruptedException ire) {

            } catch (IOException ioe) {

            }

            if
(line.equals(constants.getProductionServerHostname()))
{
                db_url =
constants.getProductionDBURL();
            }

            instance = new ConnectionPool();
        }
        return instance;
    }

Thanks for any insights!

Cheers!

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to