List of usage examples for org.springframework.batch.support.transaction ResourcelessTransactionManager ResourcelessTransactionManager
ResourcelessTransactionManager
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); }