SessionContext.getTimers() returns all the timers associated with a particular bean component, so it will return the same results in any instance of the same bean within any server instance in the cluster. There's still technically a race condition since there's no guarantee that two different server instances in the cluster won't initialize the web app for the first time at the same time. That's the reason we're adding specific support for this behavior in EJB 3.1.
[Message sent by forum member 'ksak' (ksak)]
http://forums.java.net/jive/thread.jspa?messageID=275253