List of usage examples for org.springframework.batch.support.transaction ResourcelessTransactionManager ResourcelessTransactionManager
ResourcelessTransactionManager
From source file:org.springframework.batch.core.step.tasklet.AsyncTaskletStepTests.java
private void setUp() throws Exception { step = new TaskletStep("stepName"); ResourcelessTransactionManager transactionManager = new ResourcelessTransactionManager(); step.setTransactionManager(transactionManager); RepeatTemplate chunkTemplate = new RepeatTemplate(); chunkTemplate.setCompletionPolicy(new SimpleCompletionPolicy(2)); step.setTasklet(new TestingChunkOrientedTasklet<String>(new ListItemReader<String>(items), itemProcessor, itemWriter, chunkTemplate)); jobRepository = new JobRepositorySupport(); step.setJobRepository(jobRepository); TaskExecutorRepeatTemplate template = new TaskExecutorRepeatTemplate(); template.setThrottleLimit(throttleLimit); SimpleAsyncTaskExecutor taskExecutor = new SimpleAsyncTaskExecutor(); taskExecutor.setConcurrencyLimit(concurrencyLimit); template.setTaskExecutor(taskExecutor); step.setStepOperations(template);/* www .ja v a 2 s.c o m*/ step.registerStream(new ItemStreamSupport() { private int count = 0; @Override public void update(ExecutionContext executionContext) { super.update(executionContext); executionContext.putInt("counter", count++); } }); }
From source file:org.springframework.batch.item.xml.AbstractStaxEventWriterItemWriterTests.java
/** * Write list of domain objects and check the output file. *//*from w w w .ja va2s . c o m*/ @SuppressWarnings("resource") @Test public void testWrite() throws Exception { StopWatch stopWatch = new StopWatch(getClass().getSimpleName()); stopWatch.start(); for (int i = 0; i < MAX_WRITE; i++) { new TransactionTemplate(new ResourcelessTransactionManager()).execute(new TransactionCallback<Void>() { @Override public Void doInTransaction(TransactionStatus status) { try { writer.write(objects); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new IllegalStateException("Exception encountered on write", e); } return null; } }); } writer.close(); stopWatch.stop(); logger.info("Timing for XML writer: " + stopWatch); XMLUnit.setIgnoreWhitespace(true); // String content = FileUtils.readFileToString(resource.getFile()); // System.err.println(content); XMLAssert.assertXMLEqual(new FileReader(expected.getFile()), new FileReader(resource.getFile())); }
From source file:org.springframework.batch.item.xml.StaxEventItemWriterTests.java
@Test public void testTransactionalRestart() throws Exception { writer.open(executionContext);/* ww w . j a va 2 s .c o m*/ PlatformTransactionManager transactionManager = new ResourcelessTransactionManager(); new TransactionTemplate(transactionManager).execute(new TransactionCallback<Void>() { @Override public Void doInTransaction(TransactionStatus status) { try { // write item writer.write(items); } catch (Exception e) { throw new UnexpectedInputException("Could not write data", e); } // get restart data writer.update(executionContext); return null; } }); writer.close(); // create new writer from saved restart data and continue writing writer = createItemWriter(); writer.open(executionContext); new TransactionTemplate(transactionManager).execute(new TransactionCallback<Void>() { @Override public Void doInTransaction(TransactionStatus status) { try { writer.write(items); } catch (Exception e) { throw new UnexpectedInputException("Could not write data", e); } // get restart data writer.update(executionContext); return null; } }); writer.close(); // check the output is concatenation of 'before restart' and 'after // restart' writes. String outputFile = getOutputFileContent(); assertEquals(2, StringUtils.countOccurrencesOf(outputFile, TEST_STRING)); assertTrue(outputFile.contains("<root>" + TEST_STRING + TEST_STRING + "</root>")); }
From source file:org.springframework.batch.item.xml.StaxEventItemWriterTests.java
private void testTransactionalRestartWithMultiByteCharacter(String encoding) throws Exception { writer.setEncoding(encoding);/*from w ww. j a va2 s. c o m*/ writer.open(executionContext); PlatformTransactionManager transactionManager = new ResourcelessTransactionManager(); new TransactionTemplate(transactionManager).execute(new TransactionCallback<Void>() { @Override public Void doInTransaction(TransactionStatus status) { try { // write item writer.write(itemsMultiByte); } catch (Exception e) { throw new UnexpectedInputException("Could not write data", e); } // get restart data writer.update(executionContext); return null; } }); writer.close(); // create new writer from saved restart data and continue writing writer = createItemWriter(); writer.setEncoding(encoding); writer.open(executionContext); new TransactionTemplate(transactionManager).execute(new TransactionCallback<Void>() { @Override public Void doInTransaction(TransactionStatus status) { try { writer.write(itemsMultiByte); } catch (Exception e) { throw new UnexpectedInputException("Could not write data", e); } // get restart data writer.update(executionContext); return null; } }); writer.close(); // check the output is concatenation of 'before restart' and 'after // restart' writes. String outputFile = getOutputFileContent(encoding); assertEquals(2, StringUtils.countOccurrencesOf(outputFile, TEST_STRING_MULTI_BYTE)); assertTrue(outputFile.contains("<root>" + TEST_STRING_MULTI_BYTE + TEST_STRING_MULTI_BYTE + "</root>")); }
From source file:org.springframework.batch.item.xml.StaxEventItemWriterTests.java
@Test public void testTransactionalRestartFailOnFirstWrite() throws Exception { PlatformTransactionManager transactionManager = new ResourcelessTransactionManager(); writer.open(executionContext);// ww w . ja va2s . c o m try { new TransactionTemplate(transactionManager).execute(new TransactionCallback<Void>() { @Override public Void doInTransaction(TransactionStatus status) { try { writer.write(items); } catch (Exception e) { throw new IllegalStateException("Could not write data", e); } throw new UnexpectedInputException("Could not write data"); } }); } catch (UnexpectedInputException e) { // expected } writer.close(); String outputFile = getOutputFileContent(); assertEquals("<root></root>", outputFile); // create new writer from saved restart data and continue writing writer = createItemWriter(); new TransactionTemplate(transactionManager).execute(new TransactionCallback<Void>() { @Override public Void doInTransaction(TransactionStatus status) { writer.open(executionContext); try { writer.write(items); } catch (Exception e) { throw new UnexpectedInputException("Could not write data", e); } // get restart data writer.update(executionContext); return null; } }); writer.close(); // check the output is concatenation of 'before restart' and 'after // restart' writes. outputFile = getOutputFileContent(); assertEquals(1, StringUtils.countOccurrencesOf(outputFile, TEST_STRING)); assertTrue(outputFile.contains("<root>" + TEST_STRING + "</root>")); assertEquals("<root><StaxEventItemWriter-testString/></root>", outputFile); }
From source file:org.springframework.cloud.task.configuration.DefaultTaskConfigurer.java
@Override public PlatformTransactionManager getTransactionManager() { if (this.transactionManager == null) { if (isDataSourceAvailable()) { try { Class.forName("javax.persistence.EntityManager"); if (this.context != null && this.context.getBeanNamesForType(EntityManager.class).length > 0) { logger.debug("EntityManager was found, using JpaTransactionManager"); this.transactionManager = new JpaTransactionManager(); }/*from w w w. jav a 2s .c o m*/ } catch (ClassNotFoundException ignore) { logger.debug("No EntityManager was found, using DataSourceTransactionManager"); } finally { if (this.transactionManager == null) { this.transactionManager = new DataSourceTransactionManager(this.dataSource); } } } else { logger.debug("No DataSource was found, using ResourcelessTransactionManager"); this.transactionManager = new ResourcelessTransactionManager(); } } return this.transactionManager; }