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

时间:2011-02-04 01:23:34

标签: spring-batch

从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 个答案:

答案 0 :(得分:3)

经过几轮挖掘,我能够加载作业文件。我必须将我的作业文件放在/ 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" />

我把启动上下文放在哪里