本文整理了Java中org.springframework.batch.item.ExecutionContext.size()
方法的一些代码示例,展示了ExecutionContext.size()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ExecutionContext.size()
方法的具体详情如下:
包路径:org.springframework.batch.item.ExecutionContext
类名称:ExecutionContext
方法名:size
[英]Returns number of entries in the context
[中]返回上下文中的条目数
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testUpdateOnBoundary() {
monitor.resetOffset();
ExecutionContext executionContext = new ExecutionContext();
monitor.update(executionContext);
assertEquals(0, executionContext.size());
executionContext.put(ChunkMonitor.class.getName() + ".OFFSET", 3);
monitor.update(executionContext);
assertEquals(0, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testUpdateVanilla() {
monitor.incrementOffset();
ExecutionContext executionContext = new ExecutionContext();
monitor.update(executionContext);
assertEquals(1, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testSetSaveState() throws Exception {
reader.read();
ExecutionContext context = new ExecutionContext();
reader.update(context);
assertEquals(1, context.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testUpdateWithMax() throws Exception {
ExecutionContext context = new ExecutionContext();
context.putInt("foo.read.count.max", 1);
reader.open(context);
reader.update(context);
assertEquals(2, context.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testUpdate() throws Exception {
reader.read();
ExecutionContext context = new ExecutionContext();
reader.update(context);
assertEquals(1, context.size());
assertEquals(1, context.getInt("foo.read.count"));
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testUpdateWithNoStream() throws Exception {
monitor = new ChunkMonitor();
monitor.setItemReader(new ItemReader<String>() {
@Override
public String read() throws Exception, UnexpectedInputException, ParseException {
return "" + (count++);
}
});
monitor.setChunkSize(CHUNK_SIZE);
monitor.incrementOffset();
ExecutionContext executionContext = new ExecutionContext();
monitor.update(executionContext);
assertEquals(0, executionContext.size());
}
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testSaveStateDisabled() throws Exception {
this.ldifReader = new LdifReaderBuilder().saveState(false).resource(context.getResource("classpath:/test.ldif"))
.build();
ExecutionContext executionContext = new ExecutionContext();
firstRead(executionContext);
this.ldifReader.update(executionContext);
assertEquals("ExecutionContext should have been empty", 0, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testConfigurationNoSaveState() throws Exception {
Map<String, Object> parameters = new HashMap<>();
parameters.put("value", 2);
HibernateCursorItemReader<Foo> reader = new HibernateCursorItemReaderBuilder<Foo>()
.name("fooReader")
.sessionFactory(this.sessionFactory)
.queryString("from Foo foo where foo.id > :value")
.parameterValues(parameters)
.saveState(false)
.build();
reader.afterPropertiesSet();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
int i = 0;
while(reader.read() != null) {
i++;
}
reader.update(executionContext);
reader.close();
assertEquals(3, i);
assertEquals(0, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testConfigurationNoSaveState() throws Exception {
Map<String, Object> parameters = new HashMap<>();
parameters.put("value", 2);
HibernatePagingItemReader<Foo> reader = new HibernatePagingItemReaderBuilder<Foo>()
.name("fooReader")
.sessionFactory(this.sessionFactory)
.queryString("from Foo foo where foo.id > :value")
.parameterValues(parameters)
.saveState(false)
.build();
reader.afterPropertiesSet();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
int i = 0;
while(reader.read() != null) {
i++;
}
reader.update(executionContext);
reader.close();
assertEquals(3, i);
assertEquals(0, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testConfigurationNoSaveState() throws Exception {
Map<String, Object> parameters = new HashMap<>();
parameters.put("value", 2);
JpaPagingItemReader<Foo> reader = new JpaPagingItemReaderBuilder<Foo>()
.name("fooReader")
.entityManagerFactory(this.entityManagerFactory)
.queryString("select f from Foo f where f.id > :value")
.parameterValues(parameters)
.saveState(false)
.build();
reader.afterPropertiesSet();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
int i = 0;
while(reader.read() != null) {
i++;
}
reader.update(executionContext);
reader.close();
assertEquals(3, i);
assertEquals(0, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testSaveStateDisabled() throws Exception {
this.mappingLdifReader = new MappingLdifReaderBuilder<LdapAttributes>()
.saveState(false)
.recordMapper(new TestMapper())
.resource(context.getResource("classpath:/test.ldif"))
.build();
ExecutionContext executionContext = new ExecutionContext();
firstRead(executionContext);
this.mappingLdifReader.update(executionContext);
assertEquals("ExecutionContext should have been empty", 0, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testMaxRows() throws Exception {
JdbcCursorItemReader<Foo> reader = new JdbcCursorItemReaderBuilder<Foo>()
.dataSource(this.dataSource)
.name("fooReader")
.sql("SELECT * FROM FOO ORDER BY FIRST")
.maxRows(2)
.saveState(false)
.rowMapper((rs, rowNum) -> {
Foo foo = new Foo();
foo.setFirst(rs.getInt("FIRST"));
foo.setSecond(rs.getString("SECOND"));
foo.setThird(rs.getString("THIRD"));
return foo;
})
.build();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
validateFoo(reader.read(), 1, "2", "3");
validateFoo(reader.read(), 4, "5", "6");
assertNull(reader.read());
reader.close();
assertEquals(0, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@SuppressWarnings("serial")
@Test
public void testUnexpectedRollback() throws Exception {
taskletStep.setTransactionManager(new ResourcelessTransactionManager() {
@Override
protected void doCommit(DefaultTransactionStatus status) throws TransactionException {
super.doRollback(status);
throw new UnexpectedRollbackException("bar");
}
});
taskletStep.setTasklet(new Tasklet() {
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext attributes) throws Exception {
attributes.getStepContext().getStepExecution().getExecutionContext().putString("foo", "bar");
return RepeatStatus.FINISHED;
}
});
taskletStep.execute(stepExecution);
assertEquals(FAILED, stepExecution.getStatus());
Throwable e = stepExecution.getFailureExceptions().get(0);
assertEquals("bar", e.getMessage());
assertEquals(0, stepExecution.getCommitCount());
assertEquals(1, stepExecution.getRollbackCount()); // Failed transaction
// counts as
// rollback
assertEquals(2, stepExecution.getExecutionContext().size());
assertTrue(stepExecution.getExecutionContext().containsKey(Step.STEP_TYPE_KEY));
assertTrue(stepExecution.getExecutionContext().containsKey(TaskletStep.TASKLET_TYPE_KEY));
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testNoSaveState() throws Exception {
StoredProcedureItemReader<Foo> reader = new StoredProcedureItemReaderBuilder<Foo>()
.dataSource(this.dataSource)
.procedureName("read_foos")
.rowMapper(new FooRowMapper())
.verifyCursorPosition(false)
.saveState(false)
.build();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
reader.read();
reader.read();
reader.update(executionContext);
assertEquals(0, executionContext.size());
reader.close();
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testAdvancedDelimited() throws Exception {
final List<String> skippedLines = new ArrayList<>();
FlatFileItemReader<Foo> reader = new FlatFileItemReaderBuilder<Foo>()
.name("fooReader")
.resource(getResource("1,2,3\n4,5,$1,2,3$\n@this is a comment\n6,7, 8"))
.delimited()
.quoteCharacter('$')
.names("first", "second", "third")
.targetType(Foo.class)
.linesToSkip(1)
.skippedLinesCallback(skippedLines::add)
.addComment("@")
.build();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
Foo item = reader.read();
assertEquals(4, item.getFirst());
assertEquals(5, item.getSecond());
assertEquals("1,2,3", item.getThird());
item = reader.read();
assertEquals(6, item.getFirst());
assertEquals(7, item.getSecond());
assertEquals("8", item.getThird());
reader.update(executionContext);
assertNull(reader.read());
assertEquals("1,2,3", skippedLines.get(0));
assertEquals(1, skippedLines.size());
assertEquals(1, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testConfiguration() throws Exception {
Jaxb2Marshaller unmarshaller = new Jaxb2Marshaller();
unmarshaller.setClassesToBeBound(Foo.class);
StaxEventItemReader<Foo> reader = new StaxEventItemReaderBuilder<Foo>()
.name("fooReader")
.resource(getResource(SIMPLE_XML))
.addFragmentRootElements("foo")
.currentItemCount(1)
.maxItemCount(2)
.unmarshaller(unmarshaller)
.xmlInputFactory(XMLInputFactory.newInstance())
.build();
reader.afterPropertiesSet();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
Foo item = reader.read();
assertNull(reader.read());
reader.update(executionContext);
reader.close();
assertEquals(4, item.getFirst());
assertEquals("five", item.getSecond());
assertEquals("six", item.getThird());
assertEquals(2, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testSaveState() throws Exception {
Jaxb2Marshaller unmarshaller = new Jaxb2Marshaller();
unmarshaller.setClassesToBeBound(Foo.class);
StaxEventItemReader<Foo> reader = new StaxEventItemReaderBuilder<Foo>()
.name("fooReader")
.resource(getResource(SIMPLE_XML))
.addFragmentRootElements("foo")
.unmarshaller(unmarshaller)
.saveState(false)
.build();
reader.afterPropertiesSet();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
Foo item = reader.read();
item = reader.read();
item = reader.read();
assertNull(reader.read());
reader.update(executionContext);
reader.close();
assertEquals(7, item.getFirst());
assertEquals("eight", item.getSecond());
assertEquals("nine", item.getThird());
assertEquals(0, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testConfiguration() throws Exception {
HibernateCursorItemReader<Foo> reader = new HibernateCursorItemReaderBuilder<Foo>()
.name("fooReader")
.sessionFactory(this.sessionFactory)
.fetchSize(2)
.currentItemCount(2)
.maxItemCount(4)
.queryName("allFoos")
.useStatelessSession(true)
.build();
reader.afterPropertiesSet();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
Foo item1 = reader.read();
Foo item2 = reader.read();
assertNull(reader.read());
reader.update(executionContext);
reader.close();
assertEquals(3, item1.getId());
assertEquals("bar3", item1.getName());
assertEquals(3, item1.getValue());
assertEquals(4, item2.getId());
assertEquals("bar4", item2.getName());
assertEquals(4, item2.getValue());
assertEquals(2, executionContext.size());
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testConfiguration() throws Exception {
JpaPagingItemReader<Foo> reader = new JpaPagingItemReaderBuilder<Foo>()
.name("fooReader")
.entityManagerFactory(this.entityManagerFactory)
.currentItemCount(2)
.maxItemCount(4)
.pageSize(5)
.transacted(false)
.queryString("select f from Foo f ")
.build();
reader.afterPropertiesSet();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
Foo item1 = reader.read();
Foo item2 = reader.read();
assertNull(reader.read());
reader.update(executionContext);
reader.close();
assertEquals(3, item1.getId());
assertEquals("bar3", item1.getName());
assertEquals(3, item1.getValue());
assertEquals(4, item2.getId());
assertEquals("bar4", item2.getName());
assertEquals(4, item2.getValue());
assertEquals(2, executionContext.size());
assertEquals(5, ReflectionTestUtils.getField(reader, "pageSize"));
assertFalse((Boolean) ReflectionTestUtils.getField(reader, "transacted"));
}
代码示例来源:origin: spring-projects/spring-batch
@Test
public void testAdvancedFixedLength() throws Exception {
FlatFileItemReader<Foo> reader = new FlatFileItemReaderBuilder<Foo>()
.name("fooReader")
.resource(getResource("1 2%\n 3\n4 5%\n 6\n@this is a comment\n7 8%\n 9\n"))
.fixedLength()
.columns(new Range(1, 2), new Range(3, 5), new Range(6))
.names("first", "second", "third")
.targetType(Foo.class)
.recordSeparatorPolicy(new DefaultRecordSeparatorPolicy("\"", "%"))
.maxItemCount(2)
.saveState(false)
.build();
ExecutionContext executionContext = new ExecutionContext();
reader.open(executionContext);
Foo item = reader.read();
assertEquals(1, item.getFirst());
assertEquals(2, item.getSecond());
assertEquals("3", item.getThird());
item = reader.read();
assertEquals(4, item.getFirst());
assertEquals(5, item.getSecond());
assertEquals("6", item.getThird());
reader.update(executionContext);
assertNull(reader.read());
assertEquals(0, executionContext.size());
}
内容来源于网络,如有侵权,请联系作者删除!