Могу ли я программно назначить файл конфигурации linqpad для использования?

Я столкнулся с одной и той же проблемой, но решил ее немного по-другому.

@Singleton
public class DoStuffTask {

    @Resource
    private TimerService timerSvc;

    @Timeout
    public void doStuff(Timer t) {
        try {
            doActualStuff(t);
        } catch (Exception e) {
            LOG.warn("Error running task", e);
        }
        scheduleStuff();
    }

    private void doActualStuff(Timer t) {

        LOG.info("Doing Stuff " + t.getInfo());
    }

    @PostConstruct
    public void initialise() {
        scheduleStuff();
    }

    private void scheduleStuff() {
        timerSvc.createSingleActionTimer(1000l, new TimerConfig());
    }

    public void stop() {
        for(Timer timer : timerSvc.getTimers()) {
            timer.cancel();
        }
    }

}

Это работает, настраивая задачу для выполнения в будущем (в данном случае за одну секунду). В конце задачи он снова планирует задачу.

EDIT: Обновлено для рефакторинга «материала» в другой метод, чтобы мы могли защищать исключения, чтобы всегда происходило перепланирование таймера

7
задан mahonya 13 May 2015 в 07:42
поделиться