问题描述
我有一个 Spring Boot 批处理应用程序.在 application.properties 中,我指定我的数据源详细信息如下
spring.datasource.url=jdbc:jtds:sqlserver://1*.2**.6*.25:14** spring.datasource.database=MYDB_DEV spring.datasource.username=username spring.datasource.password=password
问题是,当我运行批处理作业时,所有用户定义的表都取自 MYDB_DEV.但是像 BATCH_JOB_EXECUTION、BATCH_JOB_EXECUTION_CONTEXT 这样的元数据表是从 MASTER 模式中获取的,即使我在 MYDB_DEV 中创建了相同的表.为什么会发生这种情况?是否有任何解决方法可以让应用程序从用户定义的架构中读取元数据表?
我已经通过 jobLauncher.run(myjob, jobParameters) 进行了调试,但找不到任何从它获取主架构的线索
推荐答案
在 application.properties 或 application.yml 中使用下面的属性
spring.batch.tablePrefix=MYDB_DEV.BATCH_