/** * Get a scheduler. First try a common scheduler, failing that * create our own. * * @throws Exception when the scheduler cannot be started */ protected void findScheduler() throws Exception { if (_scheduler == null) { if (_sessionIdManager instanceof DefaultSessionIdManager) { //try and use a common scheduler, fallback to own _scheduler = ((DefaultSessionIdManager)_sessionIdManager).getServer().getBean(Scheduler.class); } if (_scheduler == null) { _scheduler = new ScheduledExecutorScheduler(); _ownScheduler = true; _scheduler.start(); if (LOG.isDebugEnabled()) LOG.debug("Using own scheduler for scavenging"); } else if (!_scheduler.isStarted()) throw new IllegalStateException("Shared scheduler not started"); } }
/** * Start up the id manager. * * Makes necessary database tables and starts a Session * scavenger thread. */ @Override public void doStart() throws Exception { initializeDatabase(); prepareTables(); super.doStart(); if (LOG.isDebugEnabled()) LOG.debug("Scavenging interval = "+getScavengeInterval()+" sec"); //try and use a common scheduler, fallback to own _scheduler =_server.getBean(Scheduler.class); if (_scheduler == null) { _scheduler = new ScheduledExecutorScheduler(); _ownScheduler = true; _scheduler.start(); } else if (!_scheduler.isStarted()) throw new IllegalStateException("Shared scheduler not started"); setScavengeInterval(getScavengeInterval()); }
/** * Start up the id manager. * * Makes necessary database tables and starts a Session * scavenger thread. */ @Override public void doStart() throws Exception { initializeDatabase(); prepareTables(); super.doStart(); if (LOG.isDebugEnabled()) LOG.debug("Scavenging interval = "+getScavengeInterval()+" sec"); //try and use a common scheduler, fallback to own _scheduler =_server.getBean(Scheduler.class); if (_scheduler == null) { _scheduler = new ScheduledExecutorScheduler(); _ownScheduler = true; _scheduler.start(); } else if (!_scheduler.isStarted()) throw new IllegalStateException("Shared scheduler not started"); setScavengeInterval(getScavengeInterval()); }