I've now looked at the actual code!

Things are a bit more complicated than I remembered:

TimerTasks can have two different types of time to trigger them, a
target absolute time ("at 3pm on 3 Jan 2016 UTC") and a relative time
("in 300ms"). You can only create one or the other of these TimerTask
(each has one constructor).

Both restart() and setupNextFireTime() are only useful in the relative
time case.

In fact I don't think the absolute case is ever used in Qpid - but if
it were neither of these methods could be used and the task can only
either fire or be cancelled.

In fact although restart() is used for the one shot case it cas
actually be used to restart a timer after it has fired as well - I was
wrong there.

What you can't do is mix using setupNExtfireTime() and restart() in the
same timer use (or at least not without pain).

The bit that I had confused with firing is that once the timer is
cancelled via cancel() the only thing you can do is destroy it and
create a new timer for use.

In Kim's case I think he should only be using restart().

Andrew

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to