84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
最近工作上需要设计一个动态调度系统,当然不是在spring中配置固定执行的CronJob。这些任务需要做持久化,当服务器正常或者非正常关闭时任务都不会丢。看到Sonartype Nexus中的任务控制是比较完整的,但是没有源码看不到怎样实现的。
应用场景1:用户可以在界面上定制一个提醒,当时间到了会发送邮件。用户还可以修个这个提醒的触发时间。 应用场景2:每天晚上定时生成订单信息,发送到指定服务器。但是有时候可能需要提前进行完成这个任务。所以可以手工执行某个任务。
应用场景1:用户可以在界面上定制一个提醒,当时间到了会发送邮件。用户还可以修个这个提醒的触发时间。
应用场景2:每天晚上定时生成订单信息,发送到指定服务器。但是有时候可能需要提前进行完成这个任务。所以可以手工执行某个任务。
认证0级讲师
持久化和你提到的动态调度系统是两个概念,你这个东西最好的实现方法是:
用AOP去实现持久化,截取所有的函数操作,然后把所有的操作的结果都持久化。
这个实现机制是: 建立一个任务池,然后把任务的信息保存起来,然后用ExecutorService来调度这个操作。然后用这个函数去截取server退出的信号量,在这个时候做任务的持久化。
Runtime.getRuntime().addShutdownHook(new xxxThread());
持久化和你提到的动态调度系统是两个概念,你这个东西最好的实现方法是:
用AOP去实现持久化,截取所有的函数操作,然后把所有的操作的结果都持久化。
应用场景1:用户可以在界面上定制一个提醒,当时间到了会发送邮件。用户还可以修个这个提醒的触发时间。
这个实现机制是: 建立一个任务池,然后把任务的信息保存起来,然后用ExecutorService来调度这个操作。然后用这个函数去截取server退出的信号量,在这个时候做任务的持久化。
Runtime.getRuntime().addShutdownHook(new xxxThread());