For EJB timer you have only one configuration.
So if you start a timer with the application initialization you might want to have a invocation if the application is down at this time.
Some timers are removed on startup before the initialization. That's why there is not need to persist them.
Not possible to have more than one service for EJBTimers ? One with a persistent strategy and a second with in memory persistence ?
The spec mandates that the timers created by the EJB timerservice be persistent by default. However, it also allows to create non-persistent timers. So you just have to use the right API on javax.ejb.TimerService to create the right type of timer, to disable persistence. There's currently no way to do that globally at the server level.