CAMEL-5932: Use JPA API instead of @deprecated spring jpa api.

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

Branch: refs/heads/master
Commit: f93b1fa59e385b5377dc8f9bf5293413528a2457
Parents: a27d5e9
Author: Claus Ibsen <davscl...@apache.org>
Authored: Wed Aug 21 14:30:01 2013 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Wed Aug 21 15:06:33 2013 +0200

----------------------------------------------------------------------
 components/camel-jpa/pom.xml                    |  9 ++--
 .../apache/camel/component/jpa/JpaEndpoint.java |  2 +-
 .../apache/camel/component/jpa/JpaProducer.java | 10 +++--
 .../component/jpa/AbstractJpaMethodTest.java    | 46 +++++++-------------
 .../camel/component/jpa/JpaUseMergeTest.java    |  7 +--
 .../camel/component/jpa/JpaUsePersistTest.java  | 26 ++++++-----
 .../jpa/JpaWithNamedQueryAndParametersTest.java | 24 +++++-----
 .../camel/processor/jpa/AbstractJpaTest.java    |  4 +-
 .../jpa/JpaProducerConcurrentTest.java          |  3 +-
 .../src/test/resources/META-INF/persistence.xml |  4 ++
 .../resources/META-INF/spring/camel-context.xml |  9 +---
 11 files changed, 68 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-jpa/pom.xml b/components/camel-jpa/pom.xml
index 632480e..23d2a80 100644
--- a/components/camel-jpa/pom.xml
+++ b/components/camel-jpa/pom.xml
@@ -58,10 +58,6 @@
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>
-      <artifactId>spring-jdbc</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
       <artifactId>spring-orm</artifactId>
     </dependency>
     <dependency>
@@ -77,6 +73,11 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-jdbc</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.apache.openjpa</groupId>
       <artifactId>openjpa-persistence-jdbc</artifactId>
       <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
 
b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
index e99c405..dc17d3f 100644
--- 
a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
+++ 
b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
@@ -305,6 +305,6 @@ public class JpaEndpoint extends ScheduledPollEndpoint {
     @Override
     protected void doStop() throws Exception {
         super.doStop();
-        entityManager.close();
+//        entityManager.close();
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java
 
b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java
index c83f0a6..0f9576a 100644
--- 
a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java
+++ 
b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java
@@ -53,7 +53,7 @@ public class JpaProducer extends DefaultProducer {
                transactionTemplate.execute(new TransactionCallback<Object>() {
                 public Object doInTransaction(TransactionStatus status) {
                        entityManager.joinTransaction();
-                       
+
                        if (values.getClass().isArray()) {
                         Object[] array = (Object[]) values;
                         for (int index = 0; index < array.length; index++) {
@@ -82,6 +82,8 @@ public class JpaProducer extends DefaultProducer {
                     }
                     
                     if (endpoint.isFlushOnSend()) {
+                        // there may be concurrency so need to join tx before 
flush
+                        entityManager.joinTransaction();
                         entityManager.flush();
                     }
                     
@@ -90,16 +92,16 @@ public class JpaProducer extends DefaultProducer {
 
                 /**
                  * save the given entity end return the managed entity
-                 * 
-                 * @param entity
-                 * @param entityManager
                  * @return the managed entity
                  */
                 private Object save(final Object entity, EntityManager 
entityManager) {
+                    // there may be concurrency so need to join tx before 
persist/merge
                     if (endpoint.isUsePersist()) {
+                        entityManager.joinTransaction();
                         entityManager.persist(entity);
                         return entity;
                     } else {
+                        entityManager.joinTransaction();
                         return entityManager.merge(entity);
                     }
                 }

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
 
b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
index eaa7659..cbf7e0b 100644
--- 
a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
+++ 
b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
@@ -16,27 +16,19 @@
  */
 package org.apache.camel.component.jpa;
 
-import static org.apache.camel.util.ServiceHelper.startServices;
-import static org.apache.camel.util.ServiceHelper.stopServices;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
-
 import javax.persistence.EntityManager;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.Consumer;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
 import org.apache.camel.examples.Address;
 import org.apache.camel.examples.Customer;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.DefaultExchange;
+import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.After;
-import org.junit.Assert;
 import org.junit.Test;
 import org.springframework.transaction.TransactionStatus;
 import org.springframework.transaction.support.TransactionCallback;
@@ -45,10 +37,8 @@ import 
org.springframework.transaction.support.TransactionTemplate;
 /**
  * @version 
  */
-public abstract class AbstractJpaMethodTest extends Assert {
+public abstract class AbstractJpaMethodTest extends CamelTestSupport {
     
-    protected CamelContext camelContext = new DefaultCamelContext();
-    protected ProducerTemplate template;
     protected JpaEndpoint endpoint;
     protected EntityManager entityManager;
     protected TransactionTemplate transactionTemplate;
@@ -59,7 +49,9 @@ public abstract class AbstractJpaMethodTest extends Assert {
     
     @After
     public void tearDown() throws Exception {
-        stopServices(consumer, template, camelContext);
+        if (entityManager != null) {
+            entityManager.close();
+        }
     }
     
     @Test
@@ -67,11 +59,8 @@ public abstract class AbstractJpaMethodTest extends Assert {
         setUp("jpa://" + Customer.class.getName() + "?usePersist=" + 
(usePersist() ? "true" : "false"));
         
         Customer customer = createDefaultCustomer();
-        Exchange exchange = new DefaultExchange(camelContext);
-        exchange.getIn().setBody(customer);
-        Exchange returnedExchange = template.send(endpoint, exchange);
+        Customer receivedCustomer = template.requestBody(endpoint, customer, 
Customer.class);
         
-        Customer receivedCustomer = 
returnedExchange.getIn().getBody(Customer.class);
         assertEquals(customer.getName(), receivedCustomer.getName());
         assertNotNull(receivedCustomer.getId());
         assertEquals(customer.getAddress().getAddressLine1(), 
receivedCustomer.getAddress().getAddressLine1());
@@ -95,11 +84,8 @@ public abstract class AbstractJpaMethodTest extends Assert {
         List<Customer> customers = new ArrayList<Customer>();
         customers.add(createDefaultCustomer());
         customers.add(createDefaultCustomer());
-        Exchange exchange = new DefaultExchange(camelContext);
-        exchange.getIn().setBody(customers);
-        Exchange returnedExchange = template.send(endpoint, exchange);
+        List returnedCustomers = template.requestBody(endpoint, customers, 
List.class);
         
-        List<?> returnedCustomers = 
returnedExchange.getIn().getBody(List.class);
         assertEquals(2, returnedCustomers.size());
         
         assertEntitiesInDatabase(2, Customer.class.getName());
@@ -111,11 +97,9 @@ public abstract class AbstractJpaMethodTest extends Assert {
         setUp("jpa://" + Customer[].class.getName() + "?usePersist=" + 
(usePersist() ? "true" : "false"));
         
         Customer[] customers = new Customer[] {createDefaultCustomer(), 
createDefaultCustomer()};
-        Exchange exchange = new DefaultExchange(camelContext);
-        exchange.getIn().setBody(customers);
-        Exchange returnedExchange = template.send(endpoint, exchange);
+        Object reply = template.requestBody(endpoint, customers);
         
-        Customer[] returnedCustomers = 
returnedExchange.getIn().getBody(Customer[].class);
+        Customer[] returnedCustomers = (Customer[]) reply;
         assertEquals(2, returnedCustomers.length);
         
         assertEntitiesInDatabase(2, Customer.class.getName());
@@ -141,6 +125,9 @@ public abstract class AbstractJpaMethodTest extends Assert {
         consumer.start();
         
         assertTrue(latch.await(50, TimeUnit.SECONDS));
+
+        consumer.stop();
+        Thread.sleep(1000);
         
         assertNotNull(receivedExchange);
         Customer receivedCustomer = 
receivedExchange.getIn().getBody(Customer.class);
@@ -150,18 +137,15 @@ public abstract class AbstractJpaMethodTest extends 
Assert {
         assertEquals(customer.getAddress().getAddressLine2(), 
receivedCustomer.getAddress().getAddressLine2());
         assertEquals(customer.getAddress().getId(), 
receivedCustomer.getAddress().getId());
         
-        // give a bit tiem for consumer to delete after done
+        // give a bit time for consumer to delete after done
         Thread.sleep(1000);
         
         assertEntitiesInDatabase(0, Customer.class.getName());
         assertEntitiesInDatabase(0, Address.class.getName());
     }
-    
-    protected void setUp(String endpointUri) throws Exception {
-        template = camelContext.createProducerTemplate();
-        startServices(template, camelContext);
 
-        endpoint = camelContext.getEndpoint(endpointUri, JpaEndpoint.class);
+    protected void setUp(String endpointUri) throws Exception {
+        endpoint = context.getEndpoint(endpointUri, JpaEndpoint.class);
 
         transactionTemplate = endpoint.createTransactionTemplate();
         entityManager = endpoint.getEntityManager();

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java
 
b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java
index 5512c06..4520dce 100644
--- 
a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java
+++ 
b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java
@@ -18,10 +18,8 @@ package org.apache.camel.component.jpa;
 
 import java.util.List;
 
-import org.apache.camel.Exchange;
 import org.apache.camel.examples.Address;
 import org.apache.camel.examples.Customer;
-import org.apache.camel.impl.DefaultExchange;
 import org.junit.Test;
 import org.springframework.transaction.TransactionStatus;
 import org.springframework.transaction.support.TransactionCallback;
@@ -56,11 +54,8 @@ public class JpaUseMergeTest extends AbstractJpaMethodTest {
         customer.getAddress().setAddressLine1("Musterstr. 1");
         customer.getAddress().setAddressLine2("11111 Enterhausen");
         
-        Exchange exchange = new DefaultExchange(camelContext);
-        exchange.getIn().setBody(customer);
-        Exchange returnedExchange = template.send(endpoint, exchange);
+        Customer receivedCustomer = template.requestBody(endpoint, customer, 
Customer.class);
         
-        Customer receivedCustomer = 
returnedExchange.getIn().getBody(Customer.class);
         assertEquals(customer.getName(), receivedCustomer.getName());
         assertNotNull(receivedCustomer.getId());
         assertEquals(customer.getAddress().getAddressLine1(), 
receivedCustomer.getAddress().getAddressLine1());

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUsePersistTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUsePersistTest.java
 
b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUsePersistTest.java
index d4f0a00..657895f 100644
--- 
a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUsePersistTest.java
+++ 
b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUsePersistTest.java
@@ -16,10 +16,8 @@
  */
 package org.apache.camel.component.jpa;
 
-import org.apache.camel.Exchange;
 import org.apache.camel.examples.Address;
 import org.apache.camel.examples.Customer;
-import org.apache.camel.impl.DefaultExchange;
 import org.junit.Test;
 
 /**
@@ -32,21 +30,27 @@ public class JpaUsePersistTest extends 
AbstractJpaMethodTest {
     }
     
     @Test
-    public void produceExistingEntityShouldThowAnException() throws Exception {
+    public void produceExistingEntityShouldThrowAnException() throws Exception 
{
         setUp("jpa://" + Customer.class.getName() + "?usePersist=true");
         
-        final Customer customer = createDefaultCustomer();
+        Customer customer = createDefaultCustomer();
         save(customer);
-        
+        long id = customer.getId();
+
+        // and adjust some values
+        customer = createDefaultCustomer();
+        customer.setId(id);
         customer.setName("Max Mustermann");
         customer.getAddress().setAddressLine1("Musterstr. 1");
         customer.getAddress().setAddressLine2("11111 Enterhausen");
-        Exchange exchange = new DefaultExchange(camelContext);
-        exchange.getIn().setBody(customer);
-        Exchange returnedExchange = template.send(endpoint, exchange);
-        
-        assertTrue(returnedExchange.isFailed());
-        assertNotNull(returnedExchange.getException());
+
+        try {
+            // we cannot store the 2nd customer as its using the same id as 
the 1st
+            template.requestBody(endpoint, customer);
+            fail("Should throw exception");
+        } catch (Exception e) {
+            // expected
+        }
         
         assertEntitiesInDatabase(1, Customer.class.getName());
         assertEntitiesInDatabase(1, Address.class.getName());

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java
 
b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java
index 3bcb67d..1af0632 100644
--- 
a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java
+++ 
b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java
@@ -21,7 +21,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
-
 import javax.persistence.EntityManager;
 import javax.persistence.PersistenceException;
 
@@ -41,7 +40,11 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.orm.jpa.JpaCallback;
-import org.springframework.orm.jpa.JpaTemplate;
+import org.springframework.transaction.TransactionStatus;
+import org.springframework.transaction.support.TransactionCallback;
+import org.springframework.transaction.support.TransactionTemplate;
+
+import static org.apache.camel.util.ServiceHelper.startServices;
 
 public class JpaWithNamedQueryAndParametersTest extends Assert {
     
@@ -50,8 +53,8 @@ public class JpaWithNamedQueryAndParametersTest extends 
Assert {
     protected DefaultCamelContext camelContext;
     protected ProducerTemplate template;
     protected JpaEndpoint endpoint;
-    protected TransactionStrategy transactionStrategy;
-    protected JpaTemplate jpaTemplate;
+    protected EntityManager entityManager;
+    protected TransactionTemplate transactionTemplate;
     protected Consumer consumer;
     protected Exchange receivedExchange;
     protected CountDownLatch latch = new CountDownLatch(1);
@@ -60,8 +63,9 @@ public class JpaWithNamedQueryAndParametersTest extends 
Assert {
 
     @Test
     public void 
testProducerInsertsIntoDatabaseThenConsumerFiresMessageExchange() throws 
Exception {
-        transactionStrategy.execute(new JpaCallback<Object>() {
-            public Object doInJpa(EntityManager entityManager) throws 
PersistenceException {
+        transactionTemplate.execute(new TransactionCallback<Object>() {
+            public Object doInTransaction(TransactionStatus status) {
+                entityManager.joinTransaction();
                 // lets delete any exiting records before the test
                 entityManager.createQuery("delete from " + 
entityName).executeUpdate();
                 // now lets create a dummy entry
@@ -72,7 +76,7 @@ public class JpaWithNamedQueryAndParametersTest extends 
Assert {
             }
         });
 
-        List<?> results = jpaTemplate.find(queryText);
+        List<?> results = entityManager.createQuery(queryText).getResultList();
         assertEquals("Should have no results: " + results, 0, results.size());
 
         // lets produce some objects
@@ -85,7 +89,7 @@ public class JpaWithNamedQueryAndParametersTest extends 
Assert {
         });
 
         // now lets assert that there is a result
-        results = jpaTemplate.find(queryText);
+        results = entityManager.createQuery(queryText).getResultList();
         assertEquals("Should have results: " + results, 1, results.size());
         Customer customer = (Customer)results.get(0);
         assertEquals("name property", "Willem", customer.getName());
@@ -137,8 +141,8 @@ public class JpaWithNamedQueryAndParametersTest extends 
Assert {
         assertTrue("Should be a JPA endpoint but was: " + value, value 
instanceof JpaEndpoint);
         endpoint = (JpaEndpoint)value;
 
-        transactionStrategy = endpoint.createTransactionStrategy();
-        jpaTemplate = endpoint.getTemplate();
+        transactionTemplate = endpoint.createTransactionTemplate();
+        entityManager = endpoint.getEntityManager();
     }
 
     protected String getEndpointUri() {

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/AbstractJpaTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/AbstractJpaTest.java
 
b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/AbstractJpaTest.java
index 0fe866e..ecaf5fe 100644
--- 
a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/AbstractJpaTest.java
+++ 
b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/AbstractJpaTest.java
@@ -53,7 +53,9 @@ public abstract class AbstractJpaTest extends 
CamelTestSupport {
     @After
     public void tearDown() throws Exception {
         super.tearDown();
-        entityManager.close();
+        if (entityManager != null) {
+            entityManager.close();
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java
 
b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java
index 20af4a0..086b67e 100644
--- 
a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java
+++ 
b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaProducerConcurrentTest.java
@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.examples.SendEmail;
@@ -61,7 +62,7 @@ public class JpaProducerConcurrentTest extends 
AbstractJpaTest {
             responses.put(index, out);
         }
 
-        assertMockEndpointsSatisfied();
+        assertMockEndpointsSatisfied(20, TimeUnit.SECONDS);
 
         assertEquals(files, responses.size());
 

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/components/camel-jpa/src/test/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/test/resources/META-INF/persistence.xml 
b/components/camel-jpa/src/test/resources/META-INF/persistence.xml
index 9a21e7d..f799e37 100644
--- a/components/camel-jpa/src/test/resources/META-INF/persistence.xml
+++ b/components/camel-jpa/src/test/resources/META-INF/persistence.xml
@@ -43,6 +43,7 @@
       <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
       <!-- <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO, 
SQL=TRACE"/> -->
       <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO"/>
+      <property name="openjpa.Multithreaded" value="true"/>
     </properties>
   </persistence-unit>
 
@@ -55,6 +56,7 @@
       <property name="openjpa.ConnectionDriverName" 
value="org.apache.derby.jdbc.EmbeddedDriver"/>
       <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
       <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO"/>
+      <property name="openjpa.Multithreaded" value="true"/>
     </properties>
   </persistence-unit>
 
@@ -67,6 +69,7 @@
       <property name="openjpa.ConnectionDriverName" 
value="org.apache.derby.jdbc.EmbeddedDriver"/>
       <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
       <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO"/>
+      <property name="openjpa.Multithreaded" value="true"/>
     </properties>
   </persistence-unit>
   <!-- END SNIPPET: e1 -->
@@ -80,6 +83,7 @@
       <property name="openjpa.ConnectionDriverName" 
value="org.apache.derby.jdbc.EmbeddedDriver"/>
       <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
       <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO"/>
+      <property name="openjpa.Multithreaded" value="true"/>
     </properties>
   </persistence-unit>
   <!-- END SNIPPET: e2 -->

http://git-wip-us.apache.org/repos/asf/camel/blob/f93b1fa5/examples/camel-example-tracer/src/main/resources/META-INF/spring/camel-context.xml
----------------------------------------------------------------------
diff --git 
a/examples/camel-example-tracer/src/main/resources/META-INF/spring/camel-context.xml
 
b/examples/camel-example-tracer/src/main/resources/META-INF/spring/camel-context.xml
index 2b06254..92d4aa9 100644
--- 
a/examples/camel-example-tracer/src/main/resources/META-INF/spring/camel-context.xml
+++ 
b/examples/camel-example-tracer/src/main/resources/META-INF/spring/camel-context.xml
@@ -32,8 +32,8 @@
       <!-- in stream to allow you to enter some text in the console -->
       <from 
uri="stream:in?initialPromptDelay=4000&amp;promptDelay=2000&amp;promptMessage=Enter
 some words:"/>
 
-      <!-- split the text using parallel execution -->
-      <split parallelProcessing="true">
+      <!-- split the text -->
+      <split>
         <!-- use methodCall expression to split the words, using a java bean 
to do it -->
         <method bean="quoteService" method="splitWords"/>
 
@@ -111,11 +111,6 @@
   </bean>
 
   <!-- this is ordinary JPA spring configuration -->
-  <bean id="jpaTemplate" class="org.springframework.orm.jpa.JpaTemplate">
-    <property name="entityManagerFactory" ref="entityManagerFactory"/>
-  </bean>
-
-  <!-- this is ordinary JPA spring configuration -->
   <bean id="entityManagerFactory" 
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
     <!-- we have named our presistence unit tracer in the 
META-INF/persistence.xml file -->
     <property name="persistenceUnitName" value="tracer"/>

Reply via email to