I checked the URL connectivity with curl, and I checked the 302- redirect host, and both are responsive on the machine in question. Then I temporarily added bogus routes to both hosts, and nothing changed. There are no delays due to failed connection attempts. In fact the webapp starts as usual, and beans and servlets are responsive, it's just that the timers stop working.
I noticed one more thing now when taking a second look at the logs. When I redeploy with skipUpdateCheck=true I get log messages about QuartzScheduler shutting down during undeployment and about one second later it is initialized during deployment. With an empty system.properties I get no such messages during redeployment, only at start and stop of tomee itself. Here is a small ant project that reproduces the behaviour: svn co https://github.com/cuspycode/apache-stuff/trunk/schedule-bug -- Bjorn Danielsson Cuspy Code AB Andy Gumbrecht <[email protected]> wrote: > Bjorn, > > We actually check for and explicitly set this property with the > default to skip. > > System.setProperty("org.terracotta.quartz.skipUpdateCheck" > , > System.getProperty("org.terracotta.quartz.skipUpdateCheck", "true")); > > The 'only' thing I can imagine is that the value is not being read as > true' - maybe a typo or codepage issue (check the file encoding of the > system.properties file). > The actual update check is in Quartz and it uses a host name that > needs to be DNS resolved, and then actually polls their server (which > can take ages sometimes). > > It uses this URL > http://www.terracotta.org/kit/reflector?kitID=quartz&pageID=update.properties', > so just out of interest can you try and browse that on the machine > that hangs? > > Thanks, > > Andy. > > PS. I hope you're not using TomEE to 'spam spam spam' people :-P > > On 21/07/2014 12:53, Bjorn Danielsson wrote: >> Thanks Andy. Here is the code I used: >> >> package foo; >> >> import javax.ejb.*; >> import java.util.logging.Logger; >> >> @Singleton >> @Lock(LockType.READ) >> @Startup >> public class BugBean { >> static final Logger logger = Logger.getLogger(BugBean.class.getName()); >> >> @Lock(LockType.WRITE) >> @Schedule(second="*/5", minute="*", hour="*") >> public void spam() { >> logger.info("Spam spam spam"); >> } >> >> } >>
