Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Dangling connection of tomcat with postgresql database

 
Varghese Renny
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
0 down vote favorite


When i am doing in windows when i stop the tomcat, application will release the hold on database, since application will stop with tomcat..But in ubuntu even if i stop the tomcat application is not releasing the access to database

i tried with sudo /etc/init.d/tomcat6 stop
sudo service tomcat6 stop

i can't use pkill since if i kill the process, even connection to database server got released..i needed to start it manually..i only want to release access to database from application..How can i do it?

Any where tomcat is holding the application? or any other process there which is on hold?

Please show me a solution, what makes difference in windows and ubuntu?

Thanks in Advance,
varghese
 
Tim Holloway
Saloon Keeper
Pie
Posts: 18152
52
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Varghese Renny wrote:0 down vote favorite



A webapp written according to accepted standards obtains database connections from a connection pool that is constructed, owned, and maintained by the server. This pool can actually be defined at a level that allows sharing it between multiple webapps, depending on how the server.xml file was configured.

Regardless, since the whole point of having a pool is that the pool holds open database connections so that the system will be spared the overhead of repeatedly creating and destroying them, there's not a whole lot of support for physically closing connections - the pool connections are fa├žades for actual Connection objects, where the pool connection's close() method simply returns the underlying open Connection back to the pool.

If you undeploy a webapp, that should cause the pool to be eligible for garbage collection, which should in turn make the Connection objects collectible, which will eventually shut down the Connection. Without checking the Tomcat source, however, I don't know if there's an explict "terminate pool" API method that Tomcat can use to forcibly cause the pool to clean up on command rather than whenever the garbage collector gets around to it.

All in all, the simplest and most reliable way to release all those connections would be to terminate Tomcat itself. For most uses, that's sufficient.
 
Rob Spoor
Sheriff
Pie
Posts: 20527
54
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Tim Holloway wrote:
Varghese Renny wrote:0 down vote favorite


This post was apparently a nearly exact copy-paste from StackOverflow: http://stackoverflow.com/questions/11735864/how-to-release-access-to-application-from-tomcat-on-ubuntu-12-04.

Varghese, please BeForthrightWhenCrossPostingToOtherSites.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic