First of all, you do not have POJOs, you have EJB Singletons :).
Now back to the original problem: persistent EJB Timer is created for each corresponding @Schedule annotation on deploy. On server restart they are only restarted. This is per EJB 3.1 spec requirements. If a timer failed delivery (twice by default) for some reason, it will be cancelled and never restarted again. You need to redeploy your application to recreate EJB Timers.
But if you have a reproducible test case, where @DependsOn affects EJB Timer creation, please file a bug in the ejb-container subcategory.
Regards,
-marina
[Message sent by forum member 'mvatkina']
http://forums.java.net/jive/thread.jspa?messageID=482067