From f7a89aa85fb5603d2785f5dfea66de51b71047e0 Mon Sep 17 00:00:00 2001 From: dsyer Date: Fri, 6 Mar 2009 07:32:20 +0000 Subject: [PATCH] Remove MessageChannelItemWriter in favour of using a MessagingGateway (integration test included as demo) --- spring-batch-integration/.springBeans | 1 - spring-batch-integration/pom.xml | 6 +- .../file/FileToMessagesJobFactoryBean.java | 48 +++-- .../item/MessageChannelItemWriter.java | 53 ------ ...sageChannelItemWriterIntegrationTests.java | 55 ------ .../item/MessageChannelItemWriterTests.java | 106 ----------- .../MessagingGatewayIntegrationTests.java | 142 ++++++++++++++ .../test/resources/job-execution-context.xml | 26 +-- .../batch/integration/SmokeTests-context.xml | 36 ++-- ...sageItemWriterIntegrationTests-context.xml | 64 +++---- ...sourceSplitterIntegrationTests-context.xml | 36 ++-- ...nnelItemWriterIntegrationTests-context.xml | 21 --- ...ssagingGatewayIntegrationTests-context.xml | 38 ++++ ...geOrientedStepIntegrationTests-context.xml | 76 ++++---- ...MessageHandlerIntegrationTests-context.xml | 62 +++--- ...ctionalPollingIntegrationTests-context.xml | 104 +++++----- ...ctionalPollingIntegrationTests-context.xml | 178 +++++++++--------- ...ctionalPollingIntegrationTests-context.xml | 100 +++++----- ...ctionalPollingIntegrationTests-context.xml | 70 +++---- 19 files changed, 591 insertions(+), 631 deletions(-) delete mode 100644 spring-batch-integration/src/main/java/org/springframework/batch/integration/item/MessageChannelItemWriter.java delete mode 100644 spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessageChannelItemWriterIntegrationTests.java delete mode 100644 spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessageChannelItemWriterTests.java create mode 100644 spring-batch-integration/src/test/java/org/springframework/batch/integration/item/MessagingGatewayIntegrationTests.java delete mode 100644 spring-batch-integration/src/test/resources/org/springframework/batch/integration/item/MessageChannelItemWriterIntegrationTests-context.xml create mode 100644 spring-batch-integration/src/test/resources/org/springframework/batch/integration/item/MessagingGatewayIntegrationTests-context.xml 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 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 itemWriter = new MessageChannelItemWriter(); - itemWriter.setChannel(channel); + MessageChannelItemWriter 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 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 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