Spring 批处理集成重用组件

Spring Batch-Integeration Reuse Components

我目前有一个 Spring Integration-JDBC 实现和 运行 轮询数据库 table 以获取记录,然后发送有效记录以供 Spring批次。我正在为项目添加一个额外的 table 监视器,以及一个额外的批处理作业,但我不确定 Batch 的哪些具体细节需要对其他任务来说是独一无二的,以及 can/should 被重用?

Spring 批处理作业设置:

<bean id="jobOperator" class="org.springframework.batch.core.launch.support.SimpleJobOperator">
    <property name="jobExplorer">
        <bean class="org.springframework.batch.core.explore.support.JobExplorerFactoryBean">
            <property name="dataSource" ref="dataSource" />
        </bean>
    </property>
    <property name="jobRepository" ref="jobRepository" />
    <property name="jobRegistry" ref="jobRegistry" />
    <property name="jobLauncher" ref="jobLauncher" />
</bean>

<bean id="jobRegistry" class="org.springframework.batch.core.configuration.support.MapJobRegistry"/>
<bean id="jobRepository" class="org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean">
    <property name="transactionManager" ref="transactionManager"/>
</bean>

<bean id="jobLauncher" class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
    <property name="jobRepository" ref="jobRepository" />
</bean>

我应该为所有这些创建一个 jobOperator2、JobLauncher2 ……吗?

不,这些很好,每个应用程序和每个工作商店应该是单个实例。

您只需要为该新任务定义一个新的工作。

Reference Manual 中查看更多信息。