天天看点

Oracle中配置多套SpringBatch持久化表

博主接手了公司一个很老的项目,用的是SpringBatch很老的一个版本(2.1.6),由于代码过于臃肿,没有使用maven管理,引用jar多,编译时间长,于是自己想要把其中比较重要的保监数据报送批作业单独拿出来另起一个项目。

于是决定自己搭建一个springboot工程,同样使用了SpringBatch,但新搭建的工程用的是 spring-boot-starter-batch 1.5.3.RELEASE。这样,两个SpringBatch初始化时自动生成的表都不一样,两个工程没办法用同一套持久化表。

下面说一下解决办法:

1. 我在测试库中把BATCH_开头的SpringBatch表都做了删除操作,然后在springboot项目中增加以下配置

spring:batch:initialize-schema: always (yml配置,我这里做了简写,了解是这个配置项即可)

正常启动工程后,在数据库中就会生成持久化表。

2. 将这些表的建表SQL拷贝出来,然后改下表名,比如前缀由 BATCH_ 改为 YBJBTH_,在生产库中新建这一套表

继续阅读