diff --git a/spring-batch-integration/.springBeans b/spring-batch-integration/.springBeans
index c9a3cf7f9..d5759e916 100644
--- a/spring-batch-integration/.springBeans
+++ b/spring-batch-integration/.springBeans
@@ -11,7 +11,6 @@
src/test/resources/simple-job-launcher-context.xml
src/test/resources/org/springframework/batch/integration/chunk/ChunkMessageItemWriterIntegrationTests-context.xml
src/test/resources/org/springframework/batch/integration/launch/JobLaunchingMessageHandlerIntegrationTests-context.xml
- src/test/resources/org/springframework/batch/integration/item/MessageChannelItemWriterIntegrationTests-context.xml
src/test/resources/org/springframework/batch/integration/job/MessageOrientedStepIntegrationTests-context.xml
src/test/resources/org/springframework/batch/integration/file/ResourceSplitterIntegrationTests-context.xml
src/test/resources/org/springframework/batch/integration/retry/TransactionalPollingIntegrationTests-context.xml
diff --git a/spring-batch-integration/pom.xml b/spring-batch-integration/pom.xml
index a03fd6da0..758ebba62 100644
--- a/spring-batch-integration/pom.xml
+++ b/spring-batch-integration/pom.xml
@@ -9,6 +9,9 @@
2.0.0.CI-SNAPSHOT
../spring-batch-parent
+
+ 1.0.2.BUILD-SNAPSHOT
+
@@ -133,7 +136,4 @@
-
- 1.0.1.RELEASE
-
diff --git a/spring-batch-integration/src/main/java/org/springframework/batch/integration/file/FileToMessagesJobFactoryBean.java b/spring-batch-integration/src/main/java/org/springframework/batch/integration/file/FileToMessagesJobFactoryBean.java
index 8b5338509..0b10d04ec 100644
--- a/spring-batch-integration/src/main/java/org/springframework/batch/integration/file/FileToMessagesJobFactoryBean.java
+++ b/spring-batch-integration/src/main/java/org/springframework/batch/integration/file/FileToMessagesJobFactoryBean.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URL;
+import java.util.List;
import java.util.Properties;
import org.springframework.batch.core.Job;
@@ -33,9 +34,9 @@ import org.springframework.batch.core.job.SimpleJob;
import org.springframework.batch.core.listener.StepExecutionListenerSupport;
import org.springframework.batch.core.repository.JobRepository;
import org.springframework.batch.core.step.item.SimpleStepFactoryBean;
-import org.springframework.batch.integration.item.MessageChannelItemWriter;
import org.springframework.batch.integration.launch.JobLaunchingMessageHandler;
import org.springframework.batch.item.ItemReader;
+import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.item.file.FlatFileItemReader;
import org.springframework.batch.item.xml.StaxEventItemReader;
import org.springframework.beans.factory.BeanNameAware;
@@ -47,6 +48,7 @@ import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.core.MessageChannel;
+import org.springframework.integration.message.GenericMessage;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.util.Assert;
@@ -56,8 +58,8 @@ import org.springframework.util.Assert;
* ensure that failures propagate up to the step and fail the job execution.
* Normally this job will be used in conjunction with a
* {@link JobLaunchingMessageHandler} and a
- * {@link ResourcePayloadAsJobParameterStrategy}, so that the user can just
- * send a message to a request channel listing the files to be processed, and
+ * {@link ResourcePayloadAsJobParameterStrategy}, so that the user can just send
+ * a message to a request channel listing the files to be processed, and
* everything else just happens by magic. After a failure the job will be
* restarted just by sending it the same message.
*
@@ -79,7 +81,9 @@ public class FileToMessagesJobFactoryBean implements FactoryBean, BeanNameAwa
/*
* (non-Javadoc)
*
- * @see org.springframework.beans.factory.BeanNameAware#setBeanName(java.lang.String)
+ * @see
+ * org.springframework.beans.factory.BeanNameAware#setBeanName(java.lang
+ * .String)
*/
public void setBeanName(String name) {
this.name = name;
@@ -91,8 +95,7 @@ public class FileToMessagesJobFactoryBean implements FactoryBean, BeanNameAwa
* case there is no need to set the resource property as it will be set by
* this factory.
*
- * @param itemReader
- * the itemReader to set
+ * @param itemReader the itemReader to set
*/
@Required
public void setItemReader(ItemReader extends T> itemReader) {
@@ -103,8 +106,7 @@ public class FileToMessagesJobFactoryBean implements FactoryBean, BeanNameAwa
* Public setter for the channel. Each item from the item reader will be
* sent to this channel.
*
- * @param channel
- * the channel to set
+ * @param channel the channel to set
*/
@Required
public void setChannel(MessageChannel channel) {
@@ -114,8 +116,7 @@ public class FileToMessagesJobFactoryBean implements FactoryBean, BeanNameAwa
/**
* Public setter for the {@link JobRepository}.
*
- * @param jobRepository
- * the job repository to set
+ * @param jobRepository the job repository to set
*/
@Required
public void setJobRepository(JobRepository jobRepository) {
@@ -125,8 +126,7 @@ public class FileToMessagesJobFactoryBean implements FactoryBean, BeanNameAwa
/**
* Public setter for the {@link PlatformTransactionManager}.
*
- * @param transactionManager
- * the transaction manager to set
+ * @param transactionManager the transaction manager to set
*/
@Required
public void setTransactionManager(PlatformTransactionManager transactionManager) {
@@ -160,8 +160,7 @@ public class FileToMessagesJobFactoryBean implements FactoryBean, BeanNameAwa
Assert.notNull(channel, "A channel must be provided");
Assert.state(channel instanceof DirectChannel,
"The channel must be a DirectChannel (otherwise failures can not be recovered from)");
- MessageChannelItemWriter super T> itemWriter = new MessageChannelItemWriter();
- itemWriter.setChannel(channel);
+ MessageChannelItemWriter super T> itemWriter = new MessageChannelItemWriter(channel);
stepFactory.setItemWriter(itemWriter);
Assert.notNull(transactionManager, "A transaction manager must be provided");
@@ -331,8 +330,8 @@ public class FileToMessagesJobFactoryBean implements FactoryBean, BeanNameAwa
* translate {@link JobParameters} into {@link Properties}. Defaults to
* a {@link DefaultJobParametersConverter}.
*
- * @param jobParametersConverter
- * the {@link JobParametersConverter} to set
+ * @param jobParametersConverter the {@link JobParametersConverter} to
+ * set
*/
public void setJobParametersFactory(JobParametersConverter jobParametersConverter) {
this.jobParametersConverter = jobParametersConverter;
@@ -370,4 +369,21 @@ public class FileToMessagesJobFactoryBean implements FactoryBean, BeanNameAwa
delegate = resourceLoader.getResource(properties.getProperty(this.key));
}
}
+
+ private static class MessageChannelItemWriter implements ItemWriter {
+
+ private MessageChannel channel;
+
+ public MessageChannelItemWriter(MessageChannel channel) {
+ super();
+ this.channel = channel;
+ }
+
+ public void write(List extends T> items) throws Exception {
+ for (T item : items) {
+ channel.send(new GenericMessage(item));
+ }
+ }
+
+ }
}
diff --git a/spring-batch-integration/src/main/java/org/springframework/batch/integration/item/MessageChannelItemWriter.java b/spring-batch-integration/src/main/java/org/springframework/batch/integration/item/MessageChannelItemWriter.java
deleted file mode 100644
index ded7c863e..000000000
--- a/spring-batch-integration/src/main/java/org/springframework/batch/integration/item/MessageChannelItemWriter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2006-2007 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.batch.integration.item;
-
-import java.util.List;
-
-import org.springframework.batch.item.ItemWriter;
-import org.springframework.beans.factory.annotation.Required;
-import org.springframework.integration.core.MessageChannel;
-import org.springframework.integration.message.GenericMessage;
-
-/**
- * @author Dave Syer
- *
- */
-public class MessageChannelItemWriter implements ItemWriter {
-
- private MessageChannel channel;
-
- /**
- * Public setter for the channel.
- * @param channel the channel to set
- */
- @Required
- public void setChannel(MessageChannel channel) {
- this.channel = channel;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.springframework.batch.item.ItemWriter#write(java.lang.Object)
- */
- public void write(List extends T> items) throws Exception {
- for (T item : items) {
- channel.send(new GenericMessage(item));
- }
- }
-
-}
diff --git a/spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessageChannelItemWriterIntegrationTests.java b/spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessageChannelItemWriterIntegrationTests.java
deleted file mode 100644
index c04c3af62..000000000
--- a/spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessageChannelItemWriterIntegrationTests.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2006-2007 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.batch.integration.item;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.Collections;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.batch.item.ItemWriter;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.integration.channel.PollableChannel;
-import org.springframework.integration.core.Message;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-/**
- * @author Dave Syer
- *
- */
-@ContextConfiguration()
-@RunWith(SpringJUnit4ClassRunner.class)
-public class MessageChannelItemWriterIntegrationTests {
-
- @Autowired
- @Qualifier("requests")
- private PollableChannel channel;
-
- @Autowired
- private ItemWriter itemWriter;
-
- @Test
- public void testSend() throws Exception {
- itemWriter.write(Collections.singletonList("foo"));
- Message> message = channel.receive(10);
- assertNotNull(message);
- assertEquals("foo", message.getPayload());
- }
-}
diff --git a/spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessageChannelItemWriterTests.java b/spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessageChannelItemWriterTests.java
deleted file mode 100644
index 3eb4acc40..000000000
--- a/spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessageChannelItemWriterTests.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright 2006-2007 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.batch.integration.item;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.util.Collections;
-
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Required;
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.integration.channel.DirectChannel;
-import org.springframework.integration.channel.ThreadLocalChannel;
-import org.springframework.integration.core.Message;
-import org.springframework.integration.core.MessageChannel;
-import org.springframework.integration.message.MessageHandler;
-import org.springframework.util.ReflectionUtils;
-
-/**
- * @author Dave Syer
- *
- */
-public class MessageChannelItemWriterTests {
-
- /**
- * Test method for
- * {@link MessageChannelItemWriter#setChannel(MessageChannel)} .
- */
- @Test
- public void testSetChannel() {
- Method method = ReflectionUtils.findMethod(MessageChannelItemWriter.class, "setChannel",
- new Class>[] { MessageChannel.class });
- assertNotNull(method);
- Annotation[] annotations = AnnotationUtils.getAnnotations(method);
- assertEquals(1, annotations.length);
- assertEquals(Required.class, annotations[0].annotationType());
- }
-
- @Test
- public void testWrite() throws Exception {
- ThreadLocalChannel receiver = new ThreadLocalChannel();
- MessageChannelItemWriter writer = new MessageChannelItemWriter();
- writer.setChannel(receiver);
- writer.write(Collections.singletonList("foo"));
- Message> message = receiver.receive(10);
- assertNotNull(message);
- assertEquals("foo", message.getPayload());
- }
-
- @Test
- public void testWriteWithRollback() throws Exception {
- DirectChannel channel = new DirectChannel();
- channel.subscribe(new MessageHandler() {
- public void handleMessage(Message> message) {
- throw new RuntimeException("Planned failure");
- }
- });
- MessageChannelItemWriter writer = new MessageChannelItemWriter();
- writer.setChannel(channel);
- try {
- writer.write(Collections.singletonList("foo"));
- fail("Expected RuntimeException");
- }
- catch (RuntimeException e) {
- assertEquals("Planned failure", e.getMessage());
- }
- }
-
- @Test
- public void testWriteWithRollbackOnEndpoint() throws Exception {
- DirectChannel channel = new DirectChannel();
- channel.subscribe(new MessageHandler() {
- public void handleMessage(Message> message) {
- throw new RuntimeException("Planned failure");
- }
- });
- MessageChannelItemWriter writer = new MessageChannelItemWriter();
- writer.setChannel(channel);
- try {
- writer.write(Collections.singletonList("foo"));
- fail("Expected RuntimeException");
- }
- catch (RuntimeException e) {
- // INT-377: this assertion fails because the exception is wrapped
- // too tightly
- assertEquals("Planned failure", e.getMessage());
- }
- }
-}
diff --git a/spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessagingGatewayIntegrationTests.java b/spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessagingGatewayIntegrationTests.java
new file mode 100644
index 000000000..4e1a99097
--- /dev/null
+++ b/spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessagingGatewayIntegrationTests.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright 2006-2007 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.batch.integration.item;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.batch.item.ItemProcessor;
+import org.springframework.batch.item.ItemWriter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.integration.annotation.MessageEndpoint;
+import org.springframework.integration.annotation.ServiceActivator;
+import org.springframework.integration.annotation.Splitter;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+/**
+ * Test case showing the use of a MessagingGateway to provide an ItemWriter or
+ * ItemProcessor to Spring Batch that is hooked directly into a Sprng
+ * Integration MessageChannel.
+ *
+ * @author Dave Syer
+ *
+ */
+@ContextConfiguration
+@RunWith(SpringJUnit4ClassRunner.class)
+public class MessagingGatewayIntegrationTests {
+
+ @Autowired
+ private ItemProcessor processor;
+
+ @Autowired
+ private ItemWriter writer;
+
+ /**
+ * Just for the sake of being able to make assertions.
+ */
+ @Autowired
+ private EndService service;
+
+ /**
+ * Just for the sake of being able to make assertions.
+ */
+ @Autowired
+ private SplitService splitter;
+
+ @Test
+ public void testProcessor() throws Exception {
+ String result = processor.process("foo");
+ assertEquals("foo: 0: 1", result);
+ assertNull(processor.process("filter"));
+ }
+
+ @Test
+ public void testWriter() throws Exception {
+ writer.write(Arrays.asList("foo", "bar", "spam"));
+ assertEquals(3, splitter.count);
+ assertEquals(3, service.count);
+ }
+
+ /**
+ * This service is wrapped into an ItemProcessor and used to transform
+ * items. This is where the main business processing could take place in a
+ * real application. To suppress output the service activator can just
+ * return null (same as an ItemProcessor) but remember to set the reply
+ * timeout in the gateway.
+ *
+ * @author Dave Syer
+ *
+ */
+ @MessageEndpoint
+ public static class Activator {
+ private int count;
+
+ @ServiceActivator
+ public String transform(String input) {
+ if (input.equals("filter")) {
+ return null;
+ }
+ return input + ": " + (count++);
+ }
+ }
+
+ /**
+ * The Splitter is wrapped into an ItemWriter and used to relay items to its
+ * output channel. This one is completely trivial, it just passes the items
+ * on as they are. More complex splitters might filter or enhance the items
+ * before passing them on.
+ *
+ * @author Dave Syer
+ *
+ */
+ @MessageEndpoint
+ public static class SplitService {
+ // Just for assertions in the test case
+ private int count;
+
+ @Splitter
+ public List split(List input) {
+ count += input.size();
+ return input;
+ }
+ }
+
+ /**
+ * This is just used to trap the messages sent by the ItemWriter and make an
+ * assertion about them in the the test case. In a real application this
+ * would be the output stage and/or business processing.
+ *
+ * @author Dave Syer
+ *
+ */
+ @MessageEndpoint
+ public static class EndService {
+ private int count;
+
+ @ServiceActivator
+ public void service(String input) {
+ count++;
+ return;
+ }
+ }
+
+}
diff --git a/spring-batch-integration/src/test/resources/job-execution-context.xml b/spring-batch-integration/src/test/resources/job-execution-context.xml
index 36a483900..e29ed821a 100644
--- a/spring-batch-integration/src/test/resources/job-execution-context.xml
+++ b/spring-batch-integration/src/test/resources/job-execution-context.xml
@@ -1,14 +1,14 @@
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/SmokeTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/SmokeTests-context.xml
index 57f21ae9a..98df0f185 100644
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/SmokeTests-context.xml
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/SmokeTests-context.xml
@@ -1,19 +1,19 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/chunk/ChunkMessageItemWriterIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/chunk/ChunkMessageItemWriterIntegrationTests-context.xml
index 28c3f78d8..b8fb0a312 100644
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/chunk/ChunkMessageItemWriterIntegrationTests-context.xml
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/chunk/ChunkMessageItemWriterIntegrationTests-context.xml
@@ -1,33 +1,33 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/file/ResourceSplitterIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/file/ResourceSplitterIntegrationTests-context.xml
index 1c1cbebb1..60535b6aa 100644
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/file/ResourceSplitterIntegrationTests-context.xml
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/file/ResourceSplitterIntegrationTests-context.xml
@@ -1,19 +1,19 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/item/MessageChannelItemWriterIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/item/MessageChannelItemWriterIntegrationTests-context.xml
deleted file mode 100644
index 633b3347f..000000000
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/item/MessageChannelItemWriterIntegrationTests-context.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/item/MessagingGatewayIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/item/MessagingGatewayIntegrationTests-context.xml
new file mode 100644
index 000000000..403af7fb5
--- /dev/null
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/item/MessagingGatewayIntegrationTests-context.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/job/MessageOrientedStepIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/job/MessageOrientedStepIntegrationTests-context.xml
index 13dd198c2..f1c86262e 100644
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/job/MessageOrientedStepIntegrationTests-context.xml
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/job/MessageOrientedStepIntegrationTests-context.xml
@@ -1,39 +1,39 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/launch/JobLaunchingMessageHandlerIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/launch/JobLaunchingMessageHandlerIntegrationTests-context.xml
index 70dbb7fe8..d10465146 100644
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/launch/JobLaunchingMessageHandlerIntegrationTests-context.xml
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/launch/JobLaunchingMessageHandlerIntegrationTests-context.xml
@@ -1,32 +1,32 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RepeatTransactionalPollingIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RepeatTransactionalPollingIntegrationTests-context.xml
index 7f6d9e742..fe5623d59 100644
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RepeatTransactionalPollingIntegrationTests-context.xml
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RepeatTransactionalPollingIntegrationTests-context.xml
@@ -1,53 +1,53 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RetryRepeatTransactionalPollingIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RetryRepeatTransactionalPollingIntegrationTests-context.xml
index b8bff6c29..c7a28dad1 100644
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RetryRepeatTransactionalPollingIntegrationTests-context.xml
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RetryRepeatTransactionalPollingIntegrationTests-context.xml
@@ -1,90 +1,90 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RetryTransactionalPollingIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RetryTransactionalPollingIntegrationTests-context.xml
index da7ca017d..5112176f5 100644
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RetryTransactionalPollingIntegrationTests-context.xml
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/RetryTransactionalPollingIntegrationTests-context.xml
@@ -1,51 +1,51 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/TransactionalPollingIntegrationTests-context.xml b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/TransactionalPollingIntegrationTests-context.xml
index 84256151e..9dfdc6f21 100644
--- a/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/TransactionalPollingIntegrationTests-context.xml
+++ b/spring-batch-integration/src/test/resources/org/springframework/batch/integration/retry/TransactionalPollingIntegrationTests-context.xml
@@ -1,36 +1,36 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file