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