paulwong

Spring Batch JUnit test for multiple jobs


https://stackoverflow.com/questions/34217101/spring-batch-junit-test-for-multiple-jobs

@Configuration
public class TestBatchConfiguration implements MergedBeanDefinitionPostProcessor {

    @Autowired
    @Qualifier("JobA")
    private Job job;

    @Bean(name="jtestl")
    public JobLauncherTestUtils jobLauncherTestUtils() {
        JobLauncherTestUtils jobLauncherTestUtils = new JobLauncherTestUtils();
        jobLauncherTestUtils.setJob(job);
        return jobLauncherTestUtils;
    }

    /**
     * 
https://stackoverflow.com/questions/22416140/autowire-setter-override-with-java-config
     * This is needed to inject the correct job into JobLauncherTestUtils
     
*/
    @Override
    public void postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class<?> beanType, String beanName) {
        if(beanName.equals("jtestl")) {
            beanDefinition.getPropertyValues().add("job", getMyBeanFirstAImpl());
        }
    }

    private Object getMyBeanFirstAImpl() {
        return job;
    }

    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }
}

posted on 2019-07-31 10:48 paulwong 閱讀(21) 評論(0)  編輯  收藏 所屬分類: SRPING BATCH


只有注冊用戶登錄后才能發表評論。


網站導航:
 
2013火热网络捕鱼游戏 2017买彩票软件哪个好 3d组6复式投注技巧 河北11选5 棋牌赚钱 3d试机号开机号今天的 百赢棋牌官方手游下载 内蒙古快3开将结果 湖北十一选五开奖号 足彩半全场推荐 真钱888棋牌游戏官网 湖北快3走势图基本图 福建11选5任三号码参考 3d开机号和试机号今天的 安徽快三开奖结果着 贵州茅台股票分析宏观经济分析 湖南幸运赛车开奖结果查询