[ARIES-1689] added synchronized statement for initialization block git-svn-id: https://svn.apache.org/repos/asf/aries/trunk/jpa@1783675 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/aries-jpa/repo Commit: http://git-wip-us.apache.org/repos/asf/aries-jpa/commit/0b82592f Tree: http://git-wip-us.apache.org/repos/asf/aries-jpa/tree/0b82592f Diff: http://git-wip-us.apache.org/repos/asf/aries-jpa/diff/0b82592f Branch: refs/heads/master Commit: 0b82592fa7960384eb1e3442950112052e7e279a Parents: 82c41d3 Author: ggerla <ggerla@13f79535-47bb-0310-9956-ffa450edef68> Authored: Sun Feb 19 17:13:30 2017 +0000 Committer: ggerla <ggerla@13f79535-47bb-0310-9956-ffa450edef68> Committed: Sun Feb 19 17:13:30 2017 +0000 ---------------------------------------------------------------------- .../apache/aries/jpa/blueprint/impl/JpaInterceptor.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aries-jpa/blob/0b82592f/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java ---------------------------------------------------------------------- diff --git a/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java b/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java index 6a11125..960e375 100644 --- a/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java +++ b/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java @@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory; public class JpaInterceptor implements Interceptor { private static final Logger LOG = LoggerFactory.getLogger(JpaInterceptor.class); - EntityManager em; + private EntityManager em; private Boolean cachedIsResourceLocal; private Coordinator coordinator; private BlueprintContainer container; @@ -53,8 +53,10 @@ public class JpaInterceptor implements Interceptor { @Override public Object preCall(ComponentMetadata cm, Method m, Object... parameters) throws Throwable { - if (coordinator == null) { - initServices(); + synchronized (this) { + if (coordinator == null) { + initServices(); + } } try { LOG.debug("PreCall for bean {}, method {}", cm.getId(), m.getName()); @@ -79,7 +81,7 @@ public class JpaInterceptor implements Interceptor { public void postCallWithException(ComponentMetadata cm, Method m, Throwable ex, Object preCallToken) { LOG.debug("PostCallWithException for bean {}, method {}", cm.getId(), m.getName(), ex); if (preCallToken != null) { - ((Coordination) preCallToken).fail(ex); + ((Coordination)preCallToken).fail(ex); } } @@ -88,7 +90,7 @@ public class JpaInterceptor implements Interceptor { throws Exception { LOG.debug("PostCallWithReturn for bean {}, method {}", cm.getId(), m.getName()); if (preCallToken != null) { - ((Coordination) preCallToken).end(); + ((Coordination)preCallToken).end(); } }
