我是新手,spring batch和batch admin。我陷入了想要使用多个数据源的场景中。即一个用于批处理元数据和业务模式(应用表)。
我在batch-mysql.properties文件中使用了以下代码。
对于批处理元数据表
batch.jdbc.driver=com.mysql.jdbc.Driver
batch.jdbc.url=jdbc:mysql://localhost:3306/batch
batch.jdbc.user=root
batch.jdbc.password=root
batch.jdbc.testWhileIdle=true
batch.jdbc.validationQuery=SELECT 1
batch.drop.script=classpath:/org/springframework/batch/core/schema-drop-mysql.sql
batch.schema.script=classpath:/org/springframework/batch/core/schema-mysql.sql
batch.business.schema.script=classpath*:business-schema-mysql.sql对于应用程序架构
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/applicationschema
db.user=root
db.password=root如果我删除以下代码行batch.business.schema.script=classpath*:business-schema-mysql.sql
然后我得到一个异常,上面的属性找不到。如果保持原样,那么它就是在批处理元数据模式中创建应用程序表。
发布于 2016-12-08 12:09:35
只是不要为属性batch.business.schema.script提供任何值。试着让它保持如下所示:
batch.business.schema.script=
此外,如果您不想在每次启动应用程序时都删除和创建批处理元表,则应该在批处理属性文件中设置batch.data.source.init=false。
编辑:这是我的batch-oracle.properties文件的样子:
batch.database.incrementer.class=org.springframework.jdbc.support.incrementer.OracleSequenceMaxValueIncrementer
batch.isolationlevel=READ_COMMITTED
batch.business.schema.script=
batch.data.source.init=false
batch.job.service.reaper.interval=6000
batch.schema.script=classpath:/org/springframework/batch/core/schema-drop-oracle10g.sql
batch.jdbc.url=jdbc:oracle:thin:@localhost:1521:mydb
batch.table.prefix=BATCH_
batch.lob.handler.class=org.springframework.jdbc.support.lob.DefaultLobHandler
batch.verify.cursor.position=true
batch.jdbc.validationQuery=SELECT 1 FROM dual
batch.jdbc.password=mypassword
batch.jdbc.testWhileIdle=false
batch.jdbc.user=user
batch.jdbc.pool.size=5
batch.drop.script=classpath:/org/springframework/batch/core/schema-drop-oracle10g.sqlhttps://stackoverflow.com/questions/41031538
复制相似问题