You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/08/24 19:28:58 UTC

svn commit: r1620165 - /tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java

Author: rmannibucau
Date: Sun Aug 24 17:28:58 2014
New Revision: 1620165

URL: http://svn.apache.org/r1620165
Log:
better default when no provisiningResolver exists

Modified:
    tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java

Modified: tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java?rev=1620165&r1=1620164&r2=1620165&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java (original)
+++ tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java Sun Aug 24 17:28:58 2014
@@ -36,6 +36,9 @@ public final class ProvisioningUtil {
     private static final String DESTINATION_KEY = "destination";
     private static final String JAR_KEY = "jar";
 
+    // lazy since shouldn't be useful in a real tomee/openejb
+    private static volatile ProvisioningResolver DEFAULT_PROVISIONING_RESOLVER = null;
+
     private ProvisioningUtil() {
         // no-op
     }
@@ -141,12 +144,16 @@ public final class ProvisioningUtil {
     }
 
     public static Set<String> realLocation(final String location) {
-        if (!SystemInstance.isInitialized()) {
-            try {
-                SystemInstance.init(new Properties());
-            } catch (final Exception e) {
-                throw new IllegalStateException(e);
+        final boolean initialized = SystemInstance.isInitialized();
+        if (!initialized) {
+            if (DEFAULT_PROVISIONING_RESOLVER == null) {
+                synchronized (ProvisioningUtil.class) {
+                    if (DEFAULT_PROVISIONING_RESOLVER == null) {
+                        DEFAULT_PROVISIONING_RESOLVER = new ProvisioningResolver();
+                    }
+                }
             }
+            return DEFAULT_PROVISIONING_RESOLVER.realLocation(location);
         }
         return SystemInstance.get().getComponent(ProvisioningResolver.class).realLocation(location);
     }