在启动时将作业加载到Spring Batch Admin

从Spring Batch Admin文档中,它提到如果作业配置文件位于META-INF / spring / batch / jobs / *下的类路径中,则将加载作业.xml

Documentation

在STS附带的spring-batch-admin-sample中,在部署管理Web应用程序时,在文件类路径下加载作业:\ META-INF \ batch \ module-context.xml并在部署时引导它 . 不确定这是怎么回事......

虽然我可以通过在用户界面上传来加载作业配置http://localhost:8080/simple-batch-admin/configuration,但由于某种原因,我的一些自定义bean没有自动装配 . 因此,理想的行为是在部署Admin时加载所有作业 .

先感谢您 .

回答(1)

2 years ago

经过几轮挖掘,我能够加载作业文件 . 我必须将我的作业文件放在/ META-INF / spring / batch / jobs /文件夹而不是META-INF / batch /中,以便在加载时发现我的jobLauncher,jobRepository,dataSource等 . 我必须把它放在src / main / resources / META-INF / spring / batch / spring / batch / bootstrap / ** /

全部是因为org.springframework.batch.admin.web.resources中spring-batch-admin-resources-1.2.0.RELEASE.jar中的两个文件

的servlet-config.xml中

<import resource="classpath*:/META-INF/spring/batch/servlet/resources/*.xml" />
<import resource="classpath*:/META-INF/spring/batch/servlet/manager/*.xml" />
<import resource="classpath*:/META-INF/spring/batch/servlet/override/*.xml" />

这允许我在src / main / resources / META-INF / spring / batch / servlet / override / * xml下添加菜单和控制器

Web应用程序-config.xml中

<import resource="classpath*:/META-INF/spring/batch/bootstrap/**/*.xml" />
<import resource="classpath*:/META-INF/spring/batch/override/**/*.xml" />

我把启动上下文放在哪里