我正在编写一个Spring Batch应用程序并将Spring Beans配置分成多个文件;
-
batch / launchContext.xml(JobLauncher / JobRepository等)
-
batch / common.xml(所有作业中使用的常见bean)
-
dataSource.xml(数据源)
-
batch / jobs / myJob.xml(作业的单个文件)
这是因为我希望在开发/测试/ 生产环境 设置之间更改数据源,并且还要保存重复写入相同的bean定义 .
问题在于我希望启动Spring Batch应用程序 . 当阅读这里的说明时http://static.springsource.org/spring-batch/reference/html/configureJob.html#runningJobsFromCommandLine它假定每个作业有一个Spring配置文件,但这不是我希望的方式 .
如何从命令行运行Spring Batch作业,该命令行使用多个bean配置文件?
1 回答
你总是可以导入上下文:
所以
batch/jobs/myJob.xml
:另见Spring Docs
编辑:
您可以使用属性占位符来外部化数据源属性定义:
在你的_1859776中:
您的
jdbc.properties
将包含默认值:但是因为使用“覆盖”系统属性模式,这些可以在运行时指定:
另见here