如何在不等待执行结束的情况下从用户界面启动作业?
How can I launch a job from user interface without waiting for the end of execution?
我使用 spring 批处理 3 读取一些文件并将数据插入数据库,但我想将进程从用户执行开始解耦,以允许用户做其他事情。
@Resource
private JobLauncher jobLauncher;
Job importJobToProgress = queueJob.poll();
JobParameters jobParameters = new JobParametersBuilder()
.addDate("date", new Date())
.toJobParameters();
jobLauncher.run(importJobToProgress, jobParameters);
我应该使用 SimpleAsyncTaskExecutor 还是 ThreadPoolTaskExecutor?
两者都可以。 ThreadPoolTaskExecutor
是更高的生产级别,因为它不允许产生无限数量的线程。 SimpleAsyncTaskExecutor
会盲目地创建新线程。
我使用 spring 批处理 3 读取一些文件并将数据插入数据库,但我想将进程从用户执行开始解耦,以允许用户做其他事情。
@Resource
private JobLauncher jobLauncher;
Job importJobToProgress = queueJob.poll();
JobParameters jobParameters = new JobParametersBuilder()
.addDate("date", new Date())
.toJobParameters();
jobLauncher.run(importJobToProgress, jobParameters);
我应该使用 SimpleAsyncTaskExecutor 还是 ThreadPoolTaskExecutor?
两者都可以。 ThreadPoolTaskExecutor
是更高的生产级别,因为它不允许产生无限数量的线程。 SimpleAsyncTaskExecutor
会盲目地创建新线程。