Запланируйте задачу с Cron, который позволяет динамическое обновление

Я использую sprint boot 1.3, весна 4.2

В этом классе

@Service
public class PaymentServiceImpl implements PaymentService {
    ....
    @Transactional
    @Override
    public void processPayment() {
        List<Payment> payments = paymentRepository.findDuePayment();
        processCreditCardPayment(payments);
    }
}

Я хотел бы вызывать processPayment каждый х момент.

Этот момент x установлен в базе данных. Пользователь может изменить его.

Поэтому я думаю, что не могу использовать аннотации.

Я начал это это

@EntityScan(basePackageClasses = {MyApp.class,     Jsr310JpaConverters.class})
@SpringBootApplication
@EnableCaching
@EnableScheduling
public class MyApp {

    @Autowired
    private DefaultConfigService defaultConfigService;

    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }

    @Bean
    public TaskScheduler poolScheduler() {
        SimpleAsyncTaskExecutor taskScheduler = new SimpleAsyncTaskExecutor();

        DefaultConfigDto defaultConfigDto = defaultConfigService.getByFieldName("payment-cron-task");
        String cronTabExpression = "0 0 4 * * ?";
        if (defaultConfigDto != null && !defaultConfigDto.getFieldValue().isEmpty()) {
            cronTabExpression = "0 0 4 * * ?";
        }

        appContext.getBean("scheduler");

        taskScheduler.schedule(task, new CronTrigger(cronTabExpression));
        return scheduler;
    }

Может быть, это не очень хороший способ.

Любое предложение?

Не знаю, если получить мой контекст, если мне нужно создать свойство, как

@Autowired
ConfigurableApplicationContext context;

и после в основном

public static void main(String[] args) {
        context = SpringApplication.run(MyApp.class, args);
}