在spring中实现调度程序(由用户定义)

时间:2014-11-25 07:07:47

标签: java spring-mvc scheduling

我正在开发spring mvc应用程序。

我已经浏览了以下链接

  1. http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html#scheduling-annotation-support-scheduled
  2. http://www.mkyong.com/spring-batch/spring-batch-and-spring-taskscheduler-example/
  3. 这些如何安排的指南。

    但我必须将其提供给用户,安排(每天/每周运行等)GUI的一些功能。

    任何人都可以帮助我如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

请检查link。它解释了如何通过在属性文件中提供crone表达式来安排任务。

其他解决方案是直接使用quartz库。我们可以使用它轻松安排或重新安排工作。请参阅this

希望这会有所帮助。

答案 1 :(得分:1)

假设您有几个要由用户安排的任务。

通过枚举为任务名称和运行者运行任务名称定义枚举。定义要每秒执行的作业(分钟,小时)。该作业只是检查是否有用户要执行的任务。

现在用户在params之后定义了这样的任务 TaskType(枚举值) TaskTime(应该启动它,例如12:00) TaskPeriod(应该多久调用一次)

可以连接TaskTime和TaskPeriod,例如在cron表达。

然后将所有任务信息存储在某处(例如,在DB中)。

您的永久作业每秒从DB读取是否有要执行的任务。它检查任务时间和任务周期,并与当前时间进行比较。如果是时候开始它会获得枚举值并调用Runner的枚举方法。