使用内存中数据库Hsql停止Spring批处理作业

使用内存中数据库Hsql停止Spring批处理作业,spring,spring-batch,spring-batch-admin,Spring,Spring Batch,Spring Batch Admin,我有一个场景,在这个场景中,我将内存中的数据库用于Spring批处理作业。 配置 batch.jdbc.driver=org.hsqldb.jdbc.JDBCDriver batch.jdbc.url=jdbc:hsqldb:mem:xdb batch.jdbc.user= batch.jdbc.password= 如果我只执行一个作业,它运行正常,但当我想通过CommandLineJobRunner停止此作业时,问题出现了。它再次创建数据库(我已覆盖sql脚本以创建和删除架构),并且它没有获

我有一个场景,在这个场景中,我将内存中的数据库用于Spring批处理作业。 配置

batch.jdbc.driver=org.hsqldb.jdbc.JDBCDriver
batch.jdbc.url=jdbc:hsqldb:mem:xdb
batch.jdbc.user=
batch.jdbc.password=
如果我只执行一个作业,它运行正常,但当我想通过CommandLineJobRunner停止此作业时,问题出现了。它再次创建数据库(我已覆盖sql脚本以创建和删除架构),并且它没有获取executionID并提供NPE


请建议如何运行此作业。

使用真实的数据库。。。内存中的数据库是为您启动的每个应用程序创建的,每个应用程序都有自己的数据库。将基于文件的数据库与HSQL结合使用,或者使用真实的数据库。您可以将start/stop函数包装为需要用户输入才能停止(正在运行)作业的内容,如下所示