Spring Batch:在运行时获取已定义作业的列表

Jam*_*ann 8 java spring spring-batch

是否可以在运行时在不使用db的情况下获取Spring Batch中已定义作业的列表?也许有可能从jobRepositorybean或类似的对象获取这些元数据?

Tun*_*aki 5

可以使用检索所有作业名称的列表JobExplorer.getJobNames().

首先必须jobExplorer使用JobExplorerFactoryBean以下方法定义bean :

<bean id="jobExplorer" class="org.springframework.batch.core.explore.support.JobExplorerFactoryBean">
    <property name="dataSource" ref="dataSource"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

然后你可以在需要时注入这个bean.