You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2013/05/23 23:47:32 UTC

[1/3] git commit: added some debug statements to have the possibilities to check what's going on

Updated Branches:
  refs/heads/master 6c3f812a5 -> adf8c4395


added some debug statements to have the possibilities to check what's going on


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d1d9f4a4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d1d9f4a4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d1d9f4a4

Branch: refs/heads/master
Commit: d1d9f4a4ad5ab1d5ead416dfc2b2ee24df9cba4c
Parents: 6c3f812
Author: cmueller <cm...@apache.org>
Authored: Thu May 23 23:44:38 2013 +0200
Committer: cmueller <cm...@apache.org>
Committed: Thu May 23 23:44:38 2013 +0200

----------------------------------------------------------------------
 .../spring/batch/support/CamelItemProcessor.java   |    9 ++++++++-
 .../spring/batch/support/CamelItemReader.java      |    9 ++++++++-
 .../spring/batch/support/CamelItemWriter.java      |    6 ++++++
 .../batch/support/CamelJobExecutionListener.java   |    8 ++++++++
 4 files changed, 30 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d1d9f4a4/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemProcessor.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemProcessor.java b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemProcessor.java
index 5332c87..ec63bd1 100644
--- a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemProcessor.java
+++ b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemProcessor.java
@@ -17,10 +17,14 @@
 package org.apache.camel.component.spring.batch.support;
 
 import org.apache.camel.ProducerTemplate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.batch.item.ItemProcessor;
 
 public class CamelItemProcessor<I, O> implements ItemProcessor<I, O> {
 
+    private static final transient Logger LOG = LoggerFactory.getLogger(CamelItemProcessor.class);
+
     private final ProducerTemplate producerTemplate;
 
     private final String endpointUri;
@@ -33,7 +37,10 @@ public class CamelItemProcessor<I, O> implements ItemProcessor<I, O> {
     @Override
     @SuppressWarnings("unchecked")
     public O process(I i) throws Exception {
-        return (O) producerTemplate.requestBody(endpointUri, i);
+        LOG.debug("processing item [{}]...", i);
+        O result = (O) producerTemplate.requestBody(endpointUri, i);
+        LOG.debug("processed item");
+        return result;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/d1d9f4a4/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemReader.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemReader.java b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemReader.java
index 3c0a0db..221cba7 100644
--- a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemReader.java
+++ b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemReader.java
@@ -17,10 +17,14 @@
 package org.apache.camel.component.spring.batch.support;
 
 import org.apache.camel.ConsumerTemplate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.batch.item.ItemReader;
 
 public class CamelItemReader<I> implements ItemReader<I> {
 
+    private static final transient Logger LOG = LoggerFactory.getLogger(CamelItemReader.class);
+
     private final ConsumerTemplate consumerTemplate;
 
     private final String endpointUri;
@@ -33,7 +37,10 @@ public class CamelItemReader<I> implements ItemReader<I> {
     @Override
     @SuppressWarnings("unchecked")
     public I read() throws Exception {
-        return (I) consumerTemplate.receiveBody(endpointUri);
+        LOG.debug("reading new item...");
+        I item = (I) consumerTemplate.receiveBody(endpointUri);
+        LOG.debug("read item [{}]", item);
+        return item;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/d1d9f4a4/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemWriter.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemWriter.java b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemWriter.java
index e38d9fe..c65c283 100644
--- a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemWriter.java
+++ b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelItemWriter.java
@@ -19,10 +19,14 @@ package org.apache.camel.component.spring.batch.support;
 import java.util.List;
 
 import org.apache.camel.ProducerTemplate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.batch.item.ItemWriter;
 
 public class CamelItemWriter<I> implements ItemWriter<I> {
 
+    private static final transient Logger LOG = LoggerFactory.getLogger(CamelItemWriter.class);
+
     private final ProducerTemplate producerTemplate;
 
     private final String endpointUri;
@@ -35,7 +39,9 @@ public class CamelItemWriter<I> implements ItemWriter<I> {
     @Override
     public void write(List<? extends I> items) throws Exception {
         for (I item : items) {
+            LOG.debug("writing item [{}]...", item);
             producerTemplate.sendBody(endpointUri, item);
+            LOG.debug("wrote item");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/d1d9f4a4/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelJobExecutionListener.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelJobExecutionListener.java b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelJobExecutionListener.java
index 22b56db..de888bf 100644
--- a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelJobExecutionListener.java
+++ b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/support/CamelJobExecutionListener.java
@@ -17,11 +17,15 @@
 package org.apache.camel.component.spring.batch.support;
 
 import org.apache.camel.ProducerTemplate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.batch.core.JobExecution;
 import org.springframework.batch.core.JobExecutionListener;
 
 public class CamelJobExecutionListener implements JobExecutionListener {
 
+    private static final transient Logger LOG = LoggerFactory.getLogger(CamelJobExecutionListener.class);
+
     private final ProducerTemplate producerTemplate;
 
     private final String endpointUri;
@@ -33,12 +37,16 @@ public class CamelJobExecutionListener implements JobExecutionListener {
 
     @Override
     public void beforeJob(JobExecution jobExecution) {
+        LOG.debug("sending before job execution event [{}]...", jobExecution);
         producerTemplate.sendBodyAndHeader(endpointUri, jobExecution, EventType.HEADER_KEY, EventType.BEFORE.name());
+        LOG.debug("sent before job execution event");
     }
 
     @Override
     public void afterJob(JobExecution jobExecution) {
+        LOG.debug("sending after job execution event [{}]...", jobExecution);
         producerTemplate.sendBodyAndHeader(endpointUri, jobExecution, EventType.HEADER_KEY, EventType.AFTER.name());
+        LOG.debug("sent after job execution event");
     }
 
     public static enum EventType {


[2/3] git commit: simplified the unit test

Posted by cm...@apache.org.
simplified the unit test


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/50d661fe
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/50d661fe
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/50d661fe

Branch: refs/heads/master
Commit: 50d661fe1317ece724cb2f68c7b5f89f4a3fe5ad
Parents: d1d9f4a
Author: cmueller <cm...@apache.org>
Authored: Thu May 23 23:45:21 2013 +0200
Committer: cmueller <cm...@apache.org>
Committed: Thu May 23 23:45:21 2013 +0200

----------------------------------------------------------------------
 .../spring/batch/SpringBatchIntegrationTest.java   |   19 ++++-----------
 1 files changed, 5 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/50d661fe/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchIntegrationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchIntegrationTest.java b/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchIntegrationTest.java
index 74dc734..12e9f80 100644
--- a/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchIntegrationTest.java
+++ b/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchIntegrationTest.java
@@ -24,8 +24,6 @@ import org.junit.Test;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
-import static org.junit.Assert.assertTrue;
-
 public class SpringBatchIntegrationTest {
 
     ApplicationContext applicationContext;
@@ -36,7 +34,7 @@ public class SpringBatchIntegrationTest {
 
     MockEndpoint jobExecutionEventsQueueEndpoint;
 
-    String[] inputMessages;
+    String[] inputMessages = new String[]{"foo", "bar", "baz", null};
 
     @Before
     public void setUp() {
@@ -44,34 +42,27 @@ public class SpringBatchIntegrationTest {
         producerTemplate = applicationContext.getBean(ProducerTemplate.class);
         outputEndpoint = applicationContext.getBean(CamelContext.class).getEndpoint("mock:output", MockEndpoint.class);
         jobExecutionEventsQueueEndpoint = applicationContext.getBean(CamelContext.class).getEndpoint("mock:jobExecutionEventsQueue", MockEndpoint.class);
-        inputMessages = new String[]{"foo", "bar", "baz"};
 
         for (String message : inputMessages) {
             producerTemplate.sendBody("seda:inputQueue", message);
         }
-        producerTemplate.sendBody("seda:inputQueue", null);
-
     }
 
     @Test
     public void shouldEchoInBatch() throws InterruptedException {
-        // When
+        outputEndpoint.expectedBodiesReceived("Echo foo", "Echo bar", "Echo baz");
+
         producerTemplate.sendBody("direct:start", "Start batch!");
 
-        // Then
-        outputEndpoint.setExpectedMessageCount(inputMessages.length);
         outputEndpoint.assertIsSatisfied();
-        assertTrue(outputEndpoint.getExchanges().get(0).getIn().getBody(String.class).startsWith("Echo "));
     }
 
     @Test
     public void shouldGenerateBatchExecutionEvents() throws InterruptedException {
-        // When
+        jobExecutionEventsQueueEndpoint.setExpectedMessageCount(2);
+
         producerTemplate.sendBody("direct:start", "Start batch!");
 
-        // Then
-        jobExecutionEventsQueueEndpoint.setExpectedMessageCount(2);
         jobExecutionEventsQueueEndpoint.assertIsSatisfied();
     }
-
 }


[3/3] git commit: CAMEL-6076: deprecate the xxxRef options and provide the xxx option if it not exists yet - work in progress

Posted by cm...@apache.org.
CAMEL-6076: deprecate the xxxRef options and provide the xxx option if it not exists yet - work in progress


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/adf8c439
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/adf8c439
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/adf8c439

Branch: refs/heads/master
Commit: adf8c4395376d770e6eb19cb536a020edbc3d561
Parents: 50d661f
Author: cmueller <cm...@apache.org>
Authored: Thu May 23 23:47:09 2013 +0200
Committer: cmueller <cm...@apache.org>
Committed: Thu May 23 23:47:09 2013 +0200

----------------------------------------------------------------------
 components/camel-spring-batch/pom.xml              |    5 +
 .../spring/batch/SpringBatchComponent.java         |    4 +-
 .../spring/batch/SpringBatchEndpoint.java          |    7 +
 .../spring/batch/SpringBatchJobLauncherTest.java   |   68 ++++++++++
 .../batch/springBatchtestJobLauncherContext.xml    |   98 +++++++++++++++
 5 files changed, 181 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/adf8c439/components/camel-spring-batch/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/pom.xml b/components/camel-spring-batch/pom.xml
index 4179850..7bf80e7 100644
--- a/components/camel-spring-batch/pom.xml
+++ b/components/camel-spring-batch/pom.xml
@@ -70,6 +70,11 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test-spring</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
             <artifactId>camel-spring</artifactId>
             <scope>test</scope>
         </dependency>

http://git-wip-us.apache.org/repos/asf/camel/blob/adf8c439/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchComponent.java b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchComponent.java
index bf3bcd0..bac2fb9 100644
--- a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchComponent.java
+++ b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchComponent.java
@@ -37,7 +37,9 @@ public class SpringBatchComponent extends DefaultComponent {
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
         Job resolvedJob = CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, Job.class);
-        return new SpringBatchEndpoint(uri, this, jobLauncher, defaultResolvedJobLauncher, allResolvedJobLaunchers, resolvedJob);
+        SpringBatchEndpoint endpoint = new SpringBatchEndpoint(uri, this, jobLauncher, defaultResolvedJobLauncher, allResolvedJobLaunchers, resolvedJob);
+        setProperties(endpoint, parameters);
+        return endpoint;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/adf8c439/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
index 7d9fa0a..dfe525f 100644
--- a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
+++ b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
@@ -28,6 +28,10 @@ import org.springframework.batch.core.launch.JobLauncher;
 
 public class SpringBatchEndpoint extends DefaultEndpoint {
 
+    /**
+     * @deprecated will be removed in Camel 3.0
+     * use jobLauncher instead
+     */
     private String jobLauncherRef;
 
     private JobLauncher jobLauncher;
@@ -97,4 +101,7 @@ public class SpringBatchEndpoint extends DefaultEndpoint {
         this.jobLauncherRef = jobLauncherRef;
     }
 
+    public void setJobLauncher(JobLauncher jobLauncher) {
+        this.jobLauncher = jobLauncher;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/adf8c439/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchJobLauncherTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchJobLauncherTest.java b/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchJobLauncherTest.java
new file mode 100644
index 0000000..6057589
--- /dev/null
+++ b/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchJobLauncherTest.java
@@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.camel.component.spring.batch;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.spring.CamelSpringTestSupport;
+import org.junit.Before;
+import org.junit.Test;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class SpringBatchJobLauncherTest extends CamelSpringTestSupport {
+
+    @EndpointInject(uri = "mock:output")
+    MockEndpoint outputEndpoint;
+
+    @EndpointInject(uri = "mock:jobExecutionEventsQueue")
+    MockEndpoint jobExecutionEventsQueueEndpoint;
+
+    String[] inputMessages = new String[]{"foo", "bar", "baz", null};
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+
+        for (String message : inputMessages) {
+            template.sendBody("seda:inputQueue", message);
+        }
+    }
+
+    @Test
+    public void testJobLauncher() throws InterruptedException {
+        outputEndpoint.expectedBodiesReceived("Echo foo", "Echo bar", "Echo baz");
+
+        template.sendBody("direct:start-jobLauncher", "Start batch!");
+
+        outputEndpoint.assertIsSatisfied();
+    }
+
+    @Test
+    public void testJobLauncherRef() throws InterruptedException {
+        outputEndpoint.expectedBodiesReceived("Echo foo", "Echo bar", "Echo baz");
+
+        template.sendBody("direct:start-jobLauncherRef", "Start batch!");
+
+        outputEndpoint.assertIsSatisfied();
+    }
+
+    @Override
+    protected AbstractApplicationContext createApplicationContext() {
+        return new ClassPathXmlApplicationContext("org/apache/camel/component/spring/batch/springBatchtestJobLauncherContext.xml");
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/adf8c439/components/camel-spring-batch/src/test/resources/org/apache/camel/component/spring/batch/springBatchtestJobLauncherContext.xml
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/test/resources/org/apache/camel/component/spring/batch/springBatchtestJobLauncherContext.xml b/components/camel-spring-batch/src/test/resources/org/apache/camel/component/spring/batch/springBatchtestJobLauncherContext.xml
new file mode 100644
index 0000000..bebd40d
--- /dev/null
+++ b/components/camel-spring-batch/src/test/resources/org/apache/camel/component/spring/batch/springBatchtestJobLauncherContext.xml
@@ -0,0 +1,98 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:camel="http://camel.apache.org/schema/spring"
+       xmlns:batch="http://www.springframework.org/schema/batch"
+       xsi:schemaLocation="
+          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+          http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
+          http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.1.xsd">
+
+    <!-- Spring Batch task -->
+
+    <batch:job id="echoJob">
+        <batch:step id="echoStep">
+            <batch:tasklet>
+                <batch:chunk reader="camelReader" writer="camelWriter" processor="camelProcessor" commit-interval="3"/>
+            </batch:tasklet>
+        </batch:step>
+        <batch:listeners>
+            <batch:listener ref="camelJobExecutionListener"/>
+        </batch:listeners>
+    </batch:job>
+
+    <!-- Camel infrastructure -->
+
+    <camel:camelContext id="camel">
+        <camel:route>
+            <camel:from uri="direct:start-jobLauncherRef"/>
+            <camel:to uri="spring-batch:echoJob?jobLauncherRef=jobLauncher"/>
+        </camel:route>
+        <camel:route>
+            <camel:from uri="direct:start-jobLauncher"/>
+            <camel:to uri="spring-batch:echoJob?jobLauncher=#jobLauncher"/>
+        </camel:route>
+        <camel:route>
+            <camel:from uri="direct:processor"/>
+            <camel:setExchangePattern pattern="InOut"/>
+            <camel:setBody>
+                <camel:simple>Echo ${body}</camel:simple>
+            </camel:setBody>
+        </camel:route>
+    </camel:camelContext>
+
+    <camel:consumerTemplate id="consumerTemplate" camelContextId="camel"/>
+
+    <camel:template id="template" camelContextId="camel"/>
+
+    <!-- Spring Batch infrastructure -->
+
+    <bean id="jobRepository"
+          class="org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean">
+        <property name="transactionManager" ref="transactionManager"/>
+    </bean>
+
+    <bean id="transactionManager" class="org.springframework.batch.support.transaction.ResourcelessTransactionManager"/>
+
+    <bean id="jobLauncher"
+          class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
+        <property name="jobRepository" ref="jobRepository"/>
+    </bean>
+
+    <bean id="camelReader" class="org.apache.camel.component.spring.batch.support.CamelItemReader">
+        <constructor-arg ref="consumerTemplate"/>
+        <constructor-arg value="seda:inputQueue"/>
+    </bean>
+
+    <bean id="camelWriter" class="org.apache.camel.component.spring.batch.support.CamelItemWriter">
+        <constructor-arg ref="template"/>
+        <constructor-arg value="mock:output"/>
+    </bean>
+
+    <bean id="camelProcessor" class="org.apache.camel.component.spring.batch.support.CamelItemProcessor">
+        <constructor-arg ref="template"/>
+        <constructor-arg value="direct:processor"/>
+    </bean>
+
+    <bean id="camelJobExecutionListener"
+          class="org.apache.camel.component.spring.batch.support.CamelJobExecutionListener">
+        <constructor-arg ref="template"/>
+        <constructor-arg value="mock:jobExecutionEventsQueue"/>
+    </bean>
+
+</beans>
\ No newline at end of file