示例就像我有一份25个工作,我希望同时执行3个作业,然后完成三个作业中的一个,然后从队列中接下来一个接收。
答案 0 :(得分:5)
您可以使用标准Java库中的类来执行此操作 - 您不需要Spring。使用ExecutorService
,例如:
class MyJob extends Runnable {
private final String message;
MyJob(String message) {
this.message = message;
}
@Override
public void run() {
System.out.println(message);
}
}
public class Example {
public static void main(String[] args) {
// Executor service with 3 threads
ExecutorService executorService = Executors.newFixedThreadPool(3);
// Submit jobs to be executed
executorService.execute(new MyJob("testing"));
executorService.execute(new MyJob("one"));
executorService.execute(new MyJob("two"));
executorService.execute(new MyJob("three"));
// ...
}
}
答案 1 :(得分:1)
是Spring
通过Quartz Scheduler为作业计划提供支持。有关Spring如何使用Quartz的更多信息,您可以浏览official spring documentation。
除此之外,如果你想要一些现成的例子,你可以通过,Spring 3 + Quartz Scheduler和Spring 4 + Quartz Scheduler。
答案 2 :(得分:0)
我建议你使用Spring启动: 这是使用Annotation with Spring进行调度的良好开端 https://spring.io/guides/gs/scheduling-tasks/
以下是使用Quartz进行Spring Boot的一个很好的简介:http://de.slideshare.net/davidkiss/spring-boot-with-quartz
祝你好运!