Spring Boot在作业完成后重新启动应用程序

时间:2019-06-19 04:19:24

标签: java spring spring-boot spring-mvc spring-batch

我有一个带有Spring批处理的Spring引导应用程序,我正在使用该批处理将CSV从CSV转换为内存H2数据库,如果我在启动应用程序时启动了批处理,则一切运行顺利,但是我需要上传CSV文件,然后开始批处理过程,但是当我这样做时,应用程序将在作业完成后重新启动,并且由于在内存数据库中使用数据而丢失了数据。

我试图将TaskExecutor设置为Async,但问题仍然存在。

jobLauncher.run(importUserJob, new JobParametersBuilder()
                        .addString("fileName", multipartFile.getOriginalFilename())
                        .toJobParameters());



2019-06-18 23:07:59.008  INFO 89571 --- [nio-8080-exec-2] o.s.b.c.l.support.SimpleJobLauncher      : Job: [SimpleJob: [name=attendanceReadJob]] completed with the following parameters: [{fileName=medAttend.csv}] and the following status: [COMPLETED]
2019-06-18 23:08:00.416  INFO 89571 --- [       Thread-4] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-06-18 23:08:00.421  INFO 89571 --- [       Thread-4] o.s.b.f.support.DisposableBeanAdapter    : Invocation of destroy method failed on bean with name 'inMemoryDatabaseShutdownExecutor': org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-199]
2019-06-18 23:08:00.421  INFO 89571 --- [       Thread-4] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2019-06-18 23:08:00.424  INFO 89571 --- [       Thread-4] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

当我使用上面的代码时,它将在日志中显示该信息,因此,如何防止它在作业完成后重新启动,我试图将代码放在另一个线程中,但是仍然存在相同的问题。

0 个答案:

没有答案
相关问题