[ https://issues.apache.org/jira/browse/DBCP-305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Thomas resolved DBCP-305. ------------------------------ Resolution: Fixed Thanks for the patch. It has been applied and will be in 1.3 onwards. I modified the patch slightly to use the same { location as the rest of the class and to make access to the SimpleDateFormat thread safe. > Use API-specific exception for logging abandoned objects > -------------------------------------------------------- > > Key: DBCP-305 > URL: https://issues.apache.org/jira/browse/DBCP-305 > Project: Commons Dbcp > Issue Type: Improvement > Reporter: Christopher Schultz > Assignee: Mark Thomas > Priority: Trivial > Fix For: 1.3 > > Attachments: DBCP-305.diff > > > When a DBCP-managed object (Connection, Statement, etc.) is considered > "abandoned", a stack trace is emitted to stdout. Unfortunately, the stack > trace is for a simple java.lang.Exception (created in AbandonedTrace.init and > AbandonedTrace.setStackTrace) with no message. > When scanning log files for exceptions, say, like this: > grep "Exception" my_logfile.log, I simply shows: > java.lang.Exception > java.lang.Exception > java.lang.Exception > ... > It would be nice to use a more descriptive exception (for instance, > AbandonedObjectException) and/or add a descriptive message to the exception > upon creation. > For example, it would be useful to execute the above command and see: > org.apache.commons.dbcp.AbandonedObjectException: DBCP object created > 2009-11-05 10:15:00 by the following code was never closed > Having the timestamp and a definite identification of the exception (i.e. the > class name) on the same line of log output is preferable IMO. > Implementation should be trivial; I'd be happy to submit a patch. Also, the > format of the logging information isn't part of the API itself, so it > shouldn't be a big deal to change it. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.