OPEN - issue BATCH-320: Refactor ItemWriter as primary collaborator (with wrapper for processor)

http://jira.springframework.org/browse/BATCH-320

Half way there - tests OK, but some naming and tidying up to do.
This commit is contained in:
dsyer
2008-01-28 22:37:46 +00:00
parent 8c1210f5da
commit 0e27ea6660
89 changed files with 585 additions and 719 deletions

View File

@@ -22,8 +22,8 @@ import java.util.List;
import javax.sql.DataSource;
import org.springframework.batch.item.AbstractItemReaderRecoverer;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.repeat.ExitStatus;
import org.springframework.batch.repeat.RepeatCallback;
import org.springframework.batch.repeat.RepeatContext;
@@ -114,8 +114,8 @@ public class ExternalRetryInBatchTests extends AbstractDependencyInjectionSpring
retryTemplate.setRetryPolicy(new ItemReaderRetryPolicy(new SimpleRetryPolicy(1)));
final ItemReaderRetryCallback callback = new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
final ItemReaderRetryCallback callback = new ItemReaderRetryCallback(provider, new ItemWriter() {
public void write(final Object text) {
// No need for transaction here: the whole batch will roll
// back. When it comes back for recovery this code is not
// executed...

View File

@@ -22,8 +22,8 @@ import java.util.List;
import javax.sql.DataSource;
import org.springframework.batch.item.AbstractItemReaderRecoverer;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.retry.callback.ItemReaderRetryCallback;
import org.springframework.batch.retry.policy.ItemReaderRetryPolicy;
import org.springframework.batch.retry.support.RetryTemplate;
@@ -104,8 +104,8 @@ public class ExternalRetryTests extends AbstractDependencyInjectionSpringContext
retryTemplate.setRetryPolicy(new ItemReaderRetryPolicy());
final ItemReaderRetryCallback callback = new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
final ItemReaderRetryCallback callback = new ItemReaderRetryCallback(provider, new ItemWriter() {
public void write(final Object text) {
jdbcTemplate.update("INSERT into T_FOOS (id,name,foo_date) values (?,?,null)", new Object[] {
Integer.valueOf(list.size()), text });
if (list.size() == 1) {
@@ -169,8 +169,8 @@ public class ExternalRetryTests extends AbstractDependencyInjectionSpringContext
retryTemplate.setRetryPolicy(new ItemReaderRetryPolicy());
final ItemReaderRetryCallback callback = new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
final ItemReaderRetryCallback callback = new ItemReaderRetryCallback(provider, new ItemWriter() {
public void write(final Object text) {
jdbcTemplate.update("INSERT into T_FOOS (id,name,foo_date) values (?,?,null)", new Object[] {
Integer.valueOf(list.size()), text });
throw new RuntimeException("Rollback!");

View File

@@ -19,7 +19,7 @@ package org.springframework.batch.retry.jms;
import java.util.ArrayList;
import java.util.List;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.item.reader.JmsItemReader;
import org.springframework.batch.retry.RetryCallback;
import org.springframework.batch.retry.RetryContext;
@@ -147,8 +147,8 @@ public class SynchronousTests extends AbstractTransactionalDataSourceSpringConte
provider.setJmsTemplate(jmsTemplate);
jmsTemplate.setDefaultDestinationName("queue");
retryTemplate.execute(new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
retryTemplate.execute(new ItemReaderRetryCallback(provider, new ItemWriter() {
public void write(final Object text) {
TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
transactionTemplate.setPropagationBehavior(TransactionTemplate.PROPAGATION_NESTED);

View File

@@ -19,7 +19,7 @@ package org.springframework.retry.jms;
import java.util.ArrayList;
import java.util.List;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.item.reader.JmsItemReader;
import org.springframework.batch.retry.RetryCallback;
import org.springframework.batch.retry.RetryContext;
@@ -143,8 +143,8 @@ public class SynchronousTests extends AbstractTransactionalDataSourceSpringConte
provider.setJmsTemplate(jmsTemplate);
jmsTemplate.setDefaultDestinationName("queue");
retryTemplate.execute(new ItemReaderRetryCallback(provider, new ItemProcessor() {
public void process(final Object text) {
retryTemplate.execute(new ItemReaderRetryCallback(provider, new ItemWriter() {
public void write(final Object text) {
TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
transactionTemplate.setPropagationBehavior(TransactionTemplate.PROPAGATION_NESTED);