You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by gg...@apache.org on 2017/02/19 17:13:31 UTC

svn commit: r1783675 - /aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java

Author: ggerla
Date: Sun Feb 19 17:13:30 2017
New Revision: 1783675

URL: http://svn.apache.org/viewvc?rev=1783675&view=rev
Log:
[ARIES-1631] added synchronized statement for initialization block

Modified:
    aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java

Modified: aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java?rev=1783675&r1=1783674&r2=1783675&view=diff
==============================================================================
--- aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java (original)
+++ aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaInterceptor.java Sun Feb 19 17:13:30 2017
@@ -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 I
 
     @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 I
     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 I
         throws Exception {
         LOG.debug("PostCallWithReturn for bean {}, method {}", cm.getId(), m.getName());
         if (preCallToken != null) {
-            ((Coordination) preCallToken).end();
+            ((Coordination)preCallToken).end();
         }
     }