With EJB2.1 timers are only persisted when a server crash occurs. Normal soft shutdowns remove timers from the db.
I have tried overriding deleteTimer method of the GeneralPurposePersistencePlugin class to not do anything. However the drawback is that if a timer executes, this method is called, hence the timer is not removed from the db. This means when the server starts up, the timer will be rescheduled again.
Any ideas on how to get timers to persist even during soft shutdowns.