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;
}