Thread: How to kill a connection

How to kill a connection

From
bobrivers@pobox.com (Bob Rivers)
Date:
Hi,

I have a problem, and I don't know how to solve it.

We have a web application (done in java/jsp, running under tomcat
4.1.29/j2sdk 1.4.2) that establishes a connection with postgres 7.3.2.

We are using jdbc (7.3.1) to do it, but we are not using connection
pool (my client security police determine that all connections to the
database must be done per user basis).

So, when the user do the login, we create a connection to this user.
When the user closes the application, we close the connection. No
problem, everything works well.

But, if the user closes the window abnormally (for example, shutting
down the browser window without clicking my application logoff button)
the connection opend will be open forever.

This connection will be killed only if I shutdown tomcat and/or
postgres.

My question is: How do I kill an idle connection?

I don't want to do it manually. I was thinking about a thread that
verifies the connection. If this connection is idle more that x
minutes, I could kill it.

Another way, is to setup a timeout for the connection. If it is idle
for more that x minutes, postgres should kill it automatically.

Is it possible?

TIA,

Bob

Re: How to kill a connection

From
Kris Jurka
Date:

On 9 Dec 2003, Bob Rivers wrote:

> Hi,
>
> I have a problem, and I don't know how to solve it.
>
> We have a web application (done in java/jsp, running under tomcat
> 4.1.29/j2sdk 1.4.2) that establishes a connection with postgres 7.3.2.
>
> We are using jdbc (7.3.1) to do it, but we are not using connection
> pool (my client security police determine that all connections to the
> database must be done per user basis).
>
> So, when the user do the login, we create a connection to this user.
> When the user closes the application, we close the connection. No
> problem, everything works well.
>
> But, if the user closes the window abnormally (for example, shutting
> down the browser window without clicking my application logoff button)
> the connection opend will be open forever.
>

Where do you store this connection object?  It seems like a scalability
problem to maintain a persistent connection per user.  Why not create and
close a connection on each request?

Kris Jurka