my dog learned polymorphism*
The moose likes Struts and the fly likes Connection Pooling Problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Connection Pooling Problem" Watch "Connection Pooling Problem" New topic

Connection Pooling Problem

Mike London
Ranch Hand

Joined: Jul 12, 2002
Posts: 1034
Our application runs under WebLogic and Oracle.

The problem we ran into was creating "Manager" classes from a Struts action class (a Singleton). The actual problem was that our connection count kept increasing even though we closed the connections. We could see the connection
count climbing (in the Weblogic monitor) with each DAO access.

It seems that after the first action class did its thing with the database and then the next action class created some classes (DAOs), connections weren't being closed property. The code explicitly calls close on the connection, the result set and the statement.

Once we moved the instantiation of the manager classes to an EJB (and out of an action class), the problem went away. No more connection pooling issues.

Is an action class, therefore, a bad place to create objects which have connections the database via, say, connection pooling?

Thanks in advance for any comments.

Chris Boldon
Ranch Hand

Joined: Aug 10, 2006
Posts: 190
Your view should never directly create or access a database connection.
Mike London
Ranch Hand

Joined: Jul 12, 2002
Posts: 1034
Hi Chris,

I guess my posting wasn't clear.

We're creating database connections in a J2EE application the correct way with DAO and related classes. We're also using connection pooling.

It is sorta covered in the JavaRanch Style Guide.
subject: Connection Pooling Problem
Similar Threads
Pleaes Help: Structs and Connection Pooling...
interesting question on conncection pooling
Connection Pool Problem in weblogic 9.2 MP3
Connection pooling with my own cofiguration file instead of Initial Context.
Invalid state, the Statement object is closed.