db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel John Debrunner <...@debrunners.com>
Subject Re: [jira] Commented: (DERBY-31) Statement.setQueryTimeout() support.
Date Thu, 16 Jun 2005 23:26:10 GMT
Oyvind Bakksjo (JIRA) wrote:


> Hi Dan, thanks for reviewing this patch so quickly.
> 
> I am fully aware of and share you concern for the performance impact of creating all
the TimerTask objects.
>
> It is far from ideal.
> The problem is that the Timer class _forces_ recreation of TimerTask objects, since these
can't be reused;
> when a TimerTask has run or been cancelled, it is pure waste. Trying
to schedule the same task again will
> cause an exception. If it wasn't for this, we could associate a TimerTask with each StatementContext
object.

This is the kind of case where a comment in the code helps a great deal.
A comment that says why a new TimerTask is created each time due to the
requirements of the Java timer scheme. Not everyone will know or
remember restrictions on TimerTasks. Ane when I looked at the JDK 1.4
javadoc it wasn't clear to me that that was the intention of the scheme.
The implication TimerTasks can not be re-used is hidden the exception
description for adding one to Timer. I would almost read the javadoc as
you can re-use timer tasks, but a timer task can not be scheduled
multiple times concurrently.

Dan.




Mime
View raw message