wood burning stoves
The moose likes JForum and the fly likes Consuming database connections Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Products » JForum
Bookmark "Consuming database connections" Watch "Consuming database connections" New topic

Consuming database connections

Migrated From Jforum.net
Ranch Hand

Joined: Apr 22, 2012
Posts: 17424
I'm using 2.1.7, but I doubt things are much different in 2.1.8.

What I noticed is that each view action keeps a db connection open even when it's not needed.
The context opens a db connection when first db request is made (to get/set some data) and remains open (not released) until the context is finished.

It's not a big deal with pageviews or post writes/edits.

But with large attachments, it consumers all available db connections and takes the whole application context down.

downloadAttach might take a long time to complete. Now imagine 50 users on dial-up connections downloading 10MB attachment.

That's 50 database connections used all at once.

Is there a way (some quick hack) to make it release the db connections right after the "am.isPhysicalDownloadMode" call within downloadAttach()?

I don't care that the download counter would be off when people abort downloads. I would rather just commit the transaction and after that pipe the data to the client.

Is it possible to do that without writing almost redundant methods for dao,context classes to be used with downloadAttach?

My box was down 3 times during the last month, all because of 50 or so people trying to download the same large attachment at the same time.

[originally posted on jforum.net by bcc]
Migrated From Jforum.net
Ranch Hand

Joined: Apr 22, 2012
Posts: 17424
Here is a hack for anyone in a similar situation.
I tried to change as little as I can.

The line numbers might not match with 2.1.7 vanilla because I made some other changes.
So if a patch run fails, then try editing manually or match the line numbers in the diff below to your real line numbers.

[originally posted on jforum.net by bcc]
I agree. Here's the link: http://aspose.com/file-tools
subject: Consuming database connections
jQuery in Action, 3rd edition