Как удалить кварцевый спусковой крючок, созданный как боб - PullRequest
1 голос
/ 20 марта 2020

У меня есть работа, которую нужно запускать каждую 1 минуту. Я решил перейти от аннотации Spring @Scheduled к заданиям Quartz, чтобы использовать ее кластерный режим во время сине-зеленого развертывания. Для этого я использовал конфигурацию, подобную этой:

    @Bean
    public JobDetailFactoryBean fooJob() {
        JobDetailFactoryBean factoryBean = new JobDetailFactoryBean();
        factoryBean.setJobClass(FooJob.class);
        factoryBean.setName(JOB_IDENTITY);
        factoryBean.setGroup(FooJob.class.getName());
        factoryBean.setDurability(true);
        return factoryBean;
    }

    @Bean
    public SimpleTriggerFactoryBean fooTrigger(@Qualifier("fooJob") JobDetail jobDetail) {
        SimpleTriggerFactoryBean factoryBean = new SimpleTriggerFactoryBean();
        factoryBean.setName(JOB_IDENTITY);
        factoryBean.setGroup(FooJob.class.getName());
        factoryBean.setJobDetail(jobDetail);
        factoryBean.setStartDelay(0L);
        factoryBean.setRepeatInterval(INTERVAL_SECONDS * 1000);
        factoryBean.setMisfireInstruction(Trigger.MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY);
        return factoryBean;
    }

Также у меня настроено хранилище заданий postgres. В этом нет ничего плохого - все работает как положено.

Теперь мой вопрос: что, если в будущем мне больше не нужно будет выполнять эту работу? Затем я удаляю эту конфигурацию, но задание и триггер все еще сохраняются в хранилище заданий, и задание запускается, даже если конфигурация удалена. Я ожидаю, что когда я разверну код без бинов сверху, задание будет удалено из хранилища. Это как-то возможно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...