Evitando o "Expunging" de um EJB Scheduler

Tenho um EJB Scheduler com o código

[code]@Stateless
@Local
public class OnlineBackupJob {

@Schedule(second = "0", minute = "*", hour = "*")
protected void scheduledTimeout(final Timer t) {
    // faz alguma coisa
}

}[/code]

Quando há alguma RuntimeException o JTA faz o rollback normalmente, porém após o segundo rollback o container desativa o scheduler e nunca mais o executa.

Criei então um método interno nesse mesmo EJB chamado doBackup que possui o atributo para usar uma nova transação, porém mesmo assim após as duas execuções o scheduler é desativado.

@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) private void doBackup() { // faz alguma coisa }

Como posso então fazer para evitar que o container desative “para sempre” meu scheduler?

[code]Caused by: javax.ejb.TransactionRolledbackLocalException: Client’s transaction aborted
at com.sun.ejb.containers.BaseContainer.useClientTx(BaseContainer.java:4625)
at com.sun.ejb.containers.BaseContainer.preInvokeTx(BaseContainer.java:4503)
at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1875)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:188)
… 37 more

INFO: EJB5119:Expunging timer [‘2@@1279410748624@@server@@domain1’ ‘TimedObject = OnlineBackupJob’ ‘BEING_DELIVERED’ ‘PERIODIC’ ‘Container ID = 83847456082886672’ ‘Sat Jul 17 20:53:00 BRT 2010’ ‘0’ ‘0 # * # * # * # * # * # * # null # null # null # true # scheduledTimeout # 1’ ] after [2] failed deliveries[/code]