I wonder what is the difference between persistent and non persistent timers. I have done a simple sample one using
@Schedule(hour = "*", minute = "5", second = "*/5", info = "Persistent timer")
and the second time
@Schedule(hour = "*", minute = "5", second = "*/5", info = "Nonpersistent timer",persistent = false)
The application was deployed on Weblogic and it has exaclty the same behaviour for both timers.
In theory the difference is
Timers are persistent by default. If the server is shut down or crashes, persistent timers are saved and will become active again when the server is restarted. If a persistent timer expires while the server is down, the container will call the @Timeout method when the server is restarted.
Nonpersistent programmatic timers are created by calling TimerConfig.setPersistent(false) and passing the TimerConfig object to one of the timer-creation methods.
So to say in the first case I stopped the server (simulating a crash BUT the timer was not triggered one was up , just when the new timeout was executed.
Any idea ? Thanks