On server restart, may this singleton be deserialized and postConstruct be called again, trying to recreate a scheduler that already exists?
[] Leo On Wed, Sep 16, 2015 at 11:13 AM, Romain Manni-Bucau <[email protected]> wrote: > Hi > > By default we store it in memory but with the proper config it can be in a > database or anywhere > Le 16 sept. 2015 07:10, "Leonardo K. Shikida" <[email protected]> a écrit > : > > > Hi > > > > I am using a custom quartz scheduler in tomee 1.6.0 like this > > > > @Startup > > @Singleton > > @DependsOn("SystemInitializerEJB") > > public class TimerEJB{ > > > > private Scheduler scheduler; > > > > @PostConstruct > > public void initialize() throws SchedulerException{ > > log.info("Initialize "+this); > > StdSchedulerFactory factory = new StdSchedulerFactory(); > > > > > > > factory.initialize(this.getClass().getResourceAsStream("my.quartz.properties")); > > scheduler = factory.getScheduler(); > > scheduler.start(); > > log.info("scheduler > "+scheduler.getMetaData().getSchedulerName()); > > } > > > > (...) > > > > Because I need to have full control over it and I don't want to mix it > with > > the default TomEE quartz scheduler. > > > > I've noticed that sometimes, on server start, I get a message warning > that > > the scheduler already exists. But since it's a singleton, I am assuming > it > > will be created only once. > > > > my.quartz.properties does not look special > > > > > > > #============================================================================ > > # Configure Main Scheduler Properties > > > > > #============================================================================ > > > > org.quartz.scheduler.instanceName = MyScheduler2 > > org.quartz.scheduler.instanceId = AUTO > > > > > > > #============================================================================ > > # Configure ThreadPool > > > > > #============================================================================ > > > > org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool > > org.quartz.threadPool.threadCount = 10 > > org.quartz.threadPool.threadPriority = 5 > > > > it does not define a jobStore or a data source > > > > Does TomEE/Quartz serializes the scheduler or stores it somewhere? > > > > [] > > > > Leo > > >
