OPEN - issue BATCH-777: Parametrise RetryCallback and related interfaces

Move key generator and item identifier to retry interceptor package
This commit is contained in:
dsyer
2008-08-25 16:08:19 +00:00
parent 6e36093b2e
commit d41464c176
19 changed files with 519 additions and 299 deletions

View File

@@ -28,7 +28,6 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.ItemRecoverer;
import org.springframework.batch.repeat.ExitStatus;
import org.springframework.batch.repeat.RepeatCallback;
import org.springframework.batch.repeat.RepeatContext;
@@ -63,7 +62,7 @@ public class ExternalRetryInBatchTests {
@Autowired
private RepeatTemplate repeatTemplate;
private ItemReaderRecoverer provider;
private ItemReader<String> provider;
private SimpleJdbcTemplate jdbcTemplate;
@@ -81,17 +80,12 @@ public class ExternalRetryInBatchTests {
jdbcTemplate.getJdbcOperations().execute("delete from T_FOOS");
jmsTemplate.convertAndSend("queue", "foo");
jmsTemplate.convertAndSend("queue", "bar");
provider = new ItemReaderRecoverer() {
provider = new ItemReader<String>() {
public String read() {
String text = (String) jmsTemplate.receiveAndConvert("queue");
list.add(text);
return text;
}
public String recover(String data, Throwable cause) {
recovered.add(data);
return data;
}
};
retryTemplate = new RetryTemplate();
}
@@ -109,7 +103,7 @@ public class ExternalRetryInBatchTests {
private List<String> list = new ArrayList<String>();
private List<Object> recovered = new ArrayList<Object>();
private List<String> recovered = new ArrayList<String>();
@Test
public void testExternalRetryRecoveryInBatch() throws Exception {
@@ -153,7 +147,8 @@ public class ExternalRetryInBatchTests {
public String recover(RetryContext context) {
// aggressive commit on a recovery
RepeatSynchronizationManager.setCompleteOnly();
return provider.recover(item, context.getLastThrowable());
recovered.add(item);
return item;
}
};
@@ -212,7 +207,4 @@ public class ExternalRetryInBatchTests {
return msgs;
}
private interface ItemReaderRecoverer extends ItemReader<String>, ItemRecoverer<String,String> {
}
}

View File

@@ -29,7 +29,6 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.ItemRecoverer;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.retry.RecoveryCallback;
import org.springframework.batch.retry.RetryCallback;
@@ -55,7 +54,7 @@ public class ExternalRetryTests {
private RetryTemplate retryTemplate;
private ItemReaderRecoverer<String> provider;
private ItemReader<String> provider;
private SimpleJdbcTemplate simpleJdbcTemplate;
@@ -72,17 +71,12 @@ public class ExternalRetryTests {
getMessages(); // drain queue
simpleJdbcTemplate.getJdbcOperations().execute("delete from T_FOOS");
jmsTemplate.convertAndSend("queue", "foo");
provider = new ItemReaderRecoverer<String>() {
provider = new ItemReader<String>() {
public String read() {
String text = (String) jmsTemplate.receiveAndConvert("queue");
list.add(text);
return text;
}
public String recover(String data, Throwable cause) {
recovered.add(data);
return data;
}
};
retryTemplate = new RetryTemplate();
}
@@ -196,7 +190,8 @@ public class ExternalRetryTests {
final RecoveryCallback<String> recoveryCallback = new RecoveryCallback<String>() {
public String recover(RetryContext context) {
return provider.recover(item, context.getLastThrowable());
recovered.add(item);
return item;
}
};
@@ -254,8 +249,4 @@ public class ExternalRetryTests {
return msgs;
}
private interface ItemReaderRecoverer<T> extends ItemReader<T>, ItemRecoverer<T,T> {
}
}