I have a need of a timer which is resettable. Once it is scheduled for say 2 minute, before 2 minute are over I should be able to reschedule it for runing for 1 more minute. Swing timers have this capability, because they have restart method. I would avoid using swing timers in non-gui application. I can't use ELB Timer service because I am running in plain java 1.5. Some new features in Java 1.5 offer some promise but have not explored yet.
Perhaps "resetting" the timer can be viewed as simply a functional requirement? I used the Java.util.Timer and canceled then recreated its task. It appears that the timer is being rescheduled, but it's really a new object.