Spring Quatrz基于动态注释的Java配置

时间:2016-04-12 08:14:21

标签: spring spring-mvc quartz-scheduler

对不起,我不得不在这里问一下,因为我搜索了很多尝试了很多东西但未能达到结果。

所以我想要做的是我有一个服务,它给我的工作列表以及他们需要运行的间隔,所以我想做的是循环工作列表和日程安排他们使用Spring Quartz,我想使用java配置而不是基于XML。

此应用程序将是一个将在服务器上运行的Web应用程序,即maven项目。

我找到了结果,主要是使用自定义注释。是否有任何可以尝试或使用的样本或示例。

问题是我们对这一切都是新手,我们都不知道如何继续这样做,所以非常感谢任何帮助。

提前致谢, Vishesh

1 个答案:

答案 0 :(得分:0)

让@Confugation类实现SchedulingConfigurer。这允许您以编程方式安排任务。例如

    @Configuration
    @EnableScheduling
    public class TaskConfiguration implements SchedulingConfigurer{

        @Autowired
        private TaskDao taskDao; // implement TaskDao to read tasks from DB

       @Override
       public void configureTasks(ScheduledTaskRegistrar taskRegistrar){
           List<Task> tasks = taskDao.findAllTasks();
           for(Task task : tasks){
               Runnable taskJob = createTaskJob(task); // create task by reflection
              taskRegistrar.addCronTask(taskJob , task.getCronExpression());
           }
       }
    }

    public class Task implements Serializable{

         private String cronExpression;
         private String jobClass;

         //getters and setters
    }