Here's the body of org.jboss.ejb.txtimer.TimerServiceImpl's createTimer method:
if (initialExpiration == null) throw new IllegalArgumentException("initial expiration is null"); if (intervalDuration < 0) throw new IllegalArgumentException("interval duration is negative"); try { String timerId = timerIdGenerator.nextTimerId(); TimerImpl timer = new TimerImpl(this, timerId, timedObjectId, timedObjectInvoker, info); persistencePolicy.insertTimer(timerId, timedObjectId, initialExpiration, intervalDuration, info); timer.startTimer(initialExpiration, intervalDuration); return timer; } catch (Exception e) { log.error("Cannot create txtimer", e); return null; }