Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > EJB TimerService.getTimers()


Автор: leniviy 2.10.2011, 12:56
Привет. Может ли TimerService.getTimers() вернуть таймеры, созданные другими бинами?

Код

    @Resource private TimerService timerService;

    @SuppressWarnings("unchecked")
    public void unschedulePurge() {
        int count = 0;
        for (Timer t : (Collection<Timer>)timerService.getTimers()) {
            count++;
            if (DDA_PURGE_TIMER.equals(t.getInfo())) { // нужна ли эта проверка?
                t.cancel();
            }
        }
        if (count > 0)
            log.debug("unschedulePurge(): stopped timers: " + count);
    }

    public void schedulePurge() throws Exception {
        unschedulePurge();
        Properties props = loadProperties();
        long purgePeriod = getPurgePeriod(props);
        if (purgePeriod == 0) {
            log.debug("schedulePurge(): dda.purge.period empty, not scheduled");
        } else {
            timerService.createTimer(30*1000, purgePeriod, DDA_PURGE_TIMER);
            log.debug("schedulePurge(): started timer with period: " + purgePeriod);
        }
    }


Автор: leniviy 2.10.2011, 13:51
В jboss 5.1 не возвращает

Автор: lando1 2.10.2011, 19:15
В jboss 5.1 метод getTimers вернет список таймеров, привязанных к данному бину

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)