[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
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 @@
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 @@
@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 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 @@
throws Exception {
LOG.debug("PostCallWithReturn for bean {}, method {}", cm.getId(), m.getName());
if (preCallToken != null) {
- ((Coordination) preCallToken).end();
+ ((Coordination)preCallToken).end();
}
}