Example usage for org.springframework.batch.support.transaction ResourcelessTransactionManager ResourcelessTransactionManager

List of usage examples for org.springframework.batch.support.transaction ResourcelessTransactionManager ResourcelessTransactionManager

Introduction

In this page you can find the example usage for org.springframework.batch.support.transaction ResourcelessTransactionManager ResourcelessTransactionManager.

Prototype

ResourcelessTransactionManager

Source Link

Usage

From source file:de.langmi.spring.batch.examples.basics.purejava.jobruns.PureJavaJobRunTest.java

private void setupBatchInfrastructure() throws Exception {
    // in-memory variants for important bean
    this.transactionManager = new ResourcelessTransactionManager();
    this.jobRepository = new MapJobRepositoryFactoryBean(transactionManager).getJobRepository();

    // setup job launcher
    SimpleJobLauncher simpleJobLauncher = new SimpleJobLauncher();
    // with a SyncTaskExecutor the job is launched within the actual thread
    simpleJobLauncher.setTaskExecutor(new SyncTaskExecutor());
    simpleJobLauncher.setJobRepository(jobRepository);

    this.jobLauncher = simpleJobLauncher;
}

From source file:org.trpr.platform.batch.impl.spring.admin.repository.MapJobRepositoryFactoryBean.java

/**
 * Create a new instance with a {@link ResourcelessTransactionManager}.
 */
public MapJobRepositoryFactoryBean() {
    this(new ResourcelessTransactionManager());
}

From source file:de.langmi.spring.batch.examples.basics.purejava.PureJavaJobTest.java

@Before
public void setUp() throws Exception {
    this.transactionManager = new ResourcelessTransactionManager();
    this.jobRepository = new MapJobRepositoryFactoryBean(transactionManager).getJobRepository();
}

From source file:de.codecentric.batch.configuration.TaskExecutorBatchConfigurer.java

@PostConstruct
public void initialize() throws Exception {
    if (dataSource == null) {
        logger.warn("No datasource was provided...using a Map based JobRepository");

        if (this.transactionManager == null) {
            this.transactionManager = new ResourcelessTransactionManager();
        }//from  w  ww  .ja  v  a 2 s  . c om

        MapJobRepositoryFactoryBean jobRepositoryFactory = new MapJobRepositoryFactoryBean(
                this.transactionManager);
        jobRepositoryFactory.afterPropertiesSet();
        this.jobRepository = jobRepositoryFactory.getObject();

        MapJobExplorerFactoryBean jobExplorerFactory = new MapJobExplorerFactoryBean(jobRepositoryFactory);
        jobExplorerFactory.afterPropertiesSet();
        this.jobExplorer = jobExplorerFactory.getObject();
    } else {
        this.jobRepository = createJobRepository();

        JobExplorerFactoryBean jobExplorerFactoryBean = new JobExplorerFactoryBean();
        jobExplorerFactoryBean.setDataSource(this.dataSource);
        String tablePrefix = env.getProperty("batch.repository.tableprefix");
        if (tablePrefix != null) {
            jobExplorerFactoryBean.setTablePrefix(tablePrefix);
        }
        jobExplorerFactoryBean.afterPropertiesSet();
        this.jobExplorer = jobExplorerFactoryBean.getObject();
    }

    this.jobLauncher = createJobLauncher();
}

From source file:org.springframework.batch.core.configuration.annotation.DefaultBatchConfigurer.java

@PostConstruct
public void initialize() {
    try {//from  w  w  w  .jav a  2 s. c om
        if (dataSource == null) {
            logger.warn("No datasource was provided...using a Map based JobRepository");

            if (this.transactionManager == null) {
                this.transactionManager = new ResourcelessTransactionManager();
            }

            MapJobRepositoryFactoryBean jobRepositoryFactory = new MapJobRepositoryFactoryBean(
                    this.transactionManager);
            jobRepositoryFactory.afterPropertiesSet();
            this.jobRepository = jobRepositoryFactory.getObject();

            MapJobExplorerFactoryBean jobExplorerFactory = new MapJobExplorerFactoryBean(jobRepositoryFactory);
            jobExplorerFactory.afterPropertiesSet();
            this.jobExplorer = jobExplorerFactory.getObject();
        } else {
            this.jobRepository = createJobRepository();

            JobExplorerFactoryBean jobExplorerFactoryBean = new JobExplorerFactoryBean();
            jobExplorerFactoryBean.setDataSource(this.dataSource);
            jobExplorerFactoryBean.afterPropertiesSet();
            this.jobExplorer = jobExplorerFactoryBean.getObject();
        }

        this.jobLauncher = createJobLauncher();
    } catch (Exception e) {
        throw new BatchConfigurationException(e);
    }
}

From source file:org.springframework.batch.core.step.item.FaultTolerantStepFactoryBeanNonBufferingTests.java

@Before
public void setUp() throws Exception {
    factory.setBeanName("stepName");
    factory.setJobRepository(new JobRepositorySupport());
    factory.setTransactionManager(new ResourcelessTransactionManager());
    factory.setCommitInterval(2);//from   w ww .  j  a  va  2s  . c  o m
    factory.setItemReader(reader);
    factory.setItemWriter(writer);
    Map<Class<? extends Throwable>, Boolean> skippableExceptions = new HashMap<Class<? extends Throwable>, Boolean>();
    skippableExceptions.put(SkippableException.class, true);
    skippableExceptions.put(SkippableRuntimeException.class, true);
    factory.setSkippableExceptionClasses(skippableExceptions);
    factory.setSkipLimit(2);
    factory.setIsReaderTransactionalQueue(true);

    JobInstance jobInstance = new JobInstance(new Long(1), "skipJob");
    jobExecution = new JobExecution(jobInstance, new JobParameters());
}

From source file:org.springframework.batch.core.step.item.FaultTolerantStepFactoryBeanRetryTests.java

@SuppressWarnings("unchecked")
@Before/* w  w w . j  a v a 2s . c  om*/
public void setUp() throws Exception {

    factory = new FaultTolerantStepFactoryBean<String, String>();
    factory.setBeanName("step");

    factory.setItemReader(new ListItemReader<String>(new ArrayList<String>()));
    factory.setItemWriter(writer);
    factory.setJobRepository(repository);
    factory.setTransactionManager(new ResourcelessTransactionManager());
    factory.setRetryableExceptionClasses(getExceptionMap(Exception.class));
    factory.setCommitInterval(1); // trivial by default

    factory.setSkippableExceptionClasses(getExceptionMap(Exception.class));

    JobParameters jobParameters = new JobParametersBuilder().addString("statefulTest", "make_this_unique")
            .toJobParameters();
    jobExecution = repository.createJobExecution("job", jobParameters);
    jobExecution.setEndTime(new Date());

}

From source file:org.springframework.batch.core.step.item.FaultTolerantStepFactoryBeanRetryTests.java

@Test
public void testProcessAllItemsWhenErrorInWriterTransformationWhenReaderTransactional() throws Exception {
    final int RETRY_LIMIT = 3;
    final List<String> ITEM_LIST = TransactionAwareProxyFactory
            .createTransactionalList(Arrays.asList("1", "2", "3"));
    FaultTolerantStepFactoryBean<String, Integer> factory = new FaultTolerantStepFactoryBean<String, Integer>();
    factory.setBeanName("step");

    factory.setJobRepository(repository);
    factory.setTransactionManager(new ResourcelessTransactionManager());
    ItemWriter<Integer> failingWriter = new ItemWriter<Integer>() {
        @Override//from   w w  w . java  2s  .  co  m
        public void write(List<? extends Integer> data) throws Exception {
            int count = 0;
            for (Integer item : data) {
                if (count++ == 2) {
                    throw new Exception("Planned failure in writer");
                }
                written.add(item);
            }
        }
    };

    ItemProcessor<String, Integer> processor = new ItemProcessor<String, Integer>() {
        @Override
        public Integer process(String item) throws Exception {
            processed.add(item);
            return Integer.parseInt(item);
        }
    };
    ItemReader<String> reader = new ListItemReader<String>(
            TransactionAwareProxyFactory.createTransactionalList(ITEM_LIST));
    factory.setCommitInterval(3);
    factory.setRetryLimit(RETRY_LIMIT);
    factory.setSkipLimit(1);
    factory.setIsReaderTransactionalQueue(true);
    @SuppressWarnings("unchecked")
    Map<Class<? extends Throwable>, Boolean> exceptionMap = getExceptionMap(Exception.class);
    factory.setSkippableExceptionClasses(exceptionMap);
    factory.setRetryableExceptionClasses(exceptionMap);
    factory.setItemReader(reader);
    factory.setItemProcessor(processor);
    factory.setItemWriter(failingWriter);
    Step step = factory.getObject();

    StepExecution stepExecution = new StepExecution(step.getName(), jobExecution);
    repository.add(stepExecution);
    step.execute(stepExecution);
    /*
     * Each chunk tried up to RETRY_LIMIT, then the scan processes each item
     * once, identifying the skip as it goes
     */
    assertEquals((RETRY_LIMIT + 1) * ITEM_LIST.size(), processed.size());
}

From source file:org.springframework.batch.core.step.item.FaultTolerantStepFactoryBeanRollbackTests.java

@SuppressWarnings("unchecked")
@Before//  www.  j  a v a2  s .c  o  m
public void setUp() throws Exception {
    reader = new SkipReaderStub<String>();
    processor = new SkipProcessorStub<String>();
    writer = new SkipWriterStub<String>();

    factory = new FaultTolerantStepFactoryBean<String, String>();

    factory.setBeanName("stepName");
    ResourcelessTransactionManager transactionManager = new ResourcelessTransactionManager();
    factory.setTransactionManager(transactionManager);
    factory.setCommitInterval(2);

    reader.clear();
    reader.setItems("1", "2", "3", "4", "5");
    factory.setItemReader(reader);
    processor.clear();
    factory.setItemProcessor(processor);
    writer.clear();
    factory.setItemWriter(writer);

    factory.setSkipLimit(2);

    factory.setSkippableExceptionClasses(getExceptionMap(Exception.class));

    MapJobRepositoryFactoryBean repositoryFactory = new MapJobRepositoryFactoryBean();
    repositoryFactory.setTransactionManager(transactionManager);
    repositoryFactory.afterPropertiesSet();
    repository = repositoryFactory.getObject();
    factory.setJobRepository(repository);

    jobExecution = repository.createJobExecution("skipJob", new JobParameters());
    stepExecution = jobExecution.createStepExecution(factory.getName());
    repository.add(stepExecution);
}

From source file:org.springframework.batch.core.step.item.FaultTolerantStepFactoryBeanTests.java

@SuppressWarnings("unchecked")
@Before/*from   ww w . j ava 2s.  c  o  m*/
public void setUp() throws Exception {
    factory = new FaultTolerantStepFactoryBean<String, String>();

    factory.setBeanName("stepName");
    factory.setTransactionManager(new ResourcelessTransactionManager());
    factory.setCommitInterval(2);

    reader.clear();
    reader.setItems("1", "2", "3", "4", "5");
    factory.setItemReader(reader);
    processor.clear();
    factory.setItemProcessor(processor);
    writer.clear();
    factory.setItemWriter(writer);

    factory.setSkipLimit(2);

    factory.setSkippableExceptionClasses(
            getExceptionMap(SkippableException.class, SkippableRuntimeException.class));

    MapJobRepositoryFactoryBean repositoryFactory = new MapJobRepositoryFactoryBean();
    repositoryFactory.afterPropertiesSet();
    repository = repositoryFactory.getObject();
    factory.setJobRepository(repository);

    jobExecution = repository.createJobExecution("skipJob", new JobParameters());
    stepExecution = jobExecution.createStepExecution(factory.getName());
    repository.add(stepExecution);
}