This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new c5cd46e CAMEL-15017: camel-jpa JpaEndpoint should defer to get EMF/TM
when its started instead of constructor.
c5cd46e is described below
commit c5cd46ecef3006932e853a902d5415aa33f045db
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed May 6 14:19:14 2020 +0200
CAMEL-15017: camel-jpa JpaEndpoint should defer to get EMF/TM when its
started instead of constructor.
---
.../java/org/apache/camel/component/jpa/JpaEndpoint.java | 15 +++++++++++----
.../apache/camel/processor/jpa/JpaRouteEndpointTest.java | 2 ++
2 files changed, 13 insertions(+), 4 deletions(-)
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 fb2e57a..a42ca03 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
@@ -115,10 +115,6 @@ public class JpaEndpoint extends ScheduledPollEndpoint {
public JpaEndpoint(String uri, JpaComponent component) {
super(uri, component);
- if (component != null) {
- entityManagerFactory = component.getEntityManagerFactory();
- transactionManager = component.getTransactionManager();
- }
}
@Override
@@ -586,4 +582,15 @@ public class JpaEndpoint extends ScheduledPollEndpoint {
};
}
+ @Override
+ protected void doStart() throws Exception {
+ super.doStart();
+
+ if (entityManagerFactory == null && getComponent() != null) {
+ entityManagerFactory = getComponent().getEntityManagerFactory();
+ }
+ if (transactionManager == null && getComponent() != null) {
+ transactionManager = getComponent().getTransactionManager();
+ }
+ }
}
diff --git
a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteEndpointTest.java
b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteEndpointTest.java
index 2de6b84..9cc5092 100644
---
a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteEndpointTest.java
+++
b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteEndpointTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.processor.jpa;
import javax.persistence.EntityManagerFactory;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.jpa.JpaComponent;
import org.apache.camel.component.jpa.JpaEndpoint;
import org.apache.camel.examples.SendEmail;
import org.apache.camel.spring.SpringRouteBuilder;
@@ -30,6 +31,7 @@ public class JpaRouteEndpointTest extends JpaRouteTest {
return new SpringRouteBuilder() {
public void configure() throws Exception {
JpaEndpoint jpa = new JpaEndpoint();
+ jpa.setComponent(new JpaComponent());
jpa.setCamelContext(context);
jpa.setEntityType(SendEmail.class);
jpa.setEntityManagerFactory(context.getRegistry().lookupByNameAndType("entityManagerFactory",
EntityManagerFactory.class));