You shouldn't put anything in your finalize() method, it's a bad practice because it can cause issues with the jvm's gc.
In your case, you should implement connection and treat the connection just like normal with JDBC access. In your own connection, keep a reference to your connection cache and then when you call connection.close(), it should call a method to return itself to the connection cache, or it's internal "actual" connection. -Jacob | -----Original Message----- | From: Rosdi bin Kasim [mailto:[EMAIL PROTECTED]] | Sent: Thursday, February 20, 2003 10:13 PM | To: Tomcat Users List | Subject: OT: Is it ok to close connection in finalize() ? | | This is a bit off topic. | | I am using connection pooling, and in my code, I open all the connection I | need in an object constructor. | Then I will close this connection in finalize(), which (according to what | I | read) will be executed during java garbage collect. | | --- sample code ------ | | public class GeneralConn { | | private ConnCache connCache; | | //open connection during object creation | public GeneralConn () { | try { | connCache = ConnCache.getInstance(); | dbConn = connCache.getConnection(); //grab a connection from | the connection pool | }catch (Exception e) { | System.out.println("Fail to open connection: " + | e.getMessage()); | } | } | | //close when this object is destroyed | public void finalize () { | try{ | dbConn.close(); | dbConn = null; | }catch (Exception e) { | System.out.println("Fail to close connection: " + | e.getMessage()); | } | } | } | | Would this be okay? is it guaranteed that finalize() will be executed | during | garbage collect?? | | | Regards, | Rosdi bin Kasim. | | | | | --------------------------------------------------------------------- | To unsubscribe, e-mail: [EMAIL PROTECTED] | For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]