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 2012/09/23 14:54:55 UTC

svn commit: r1389035 - /openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java

Author: rmannibucau
Date: Sun Sep 23 12:54:54 2012
New Revision: 1389035

URL: http://svn.apache.org/viewvc?rev=1389035&view=rev
Log:
java:global in tomee (merge between tomcat and openejb)

Modified:
    openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java

Modified: openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java?rev=1389035&r1=1389034&r2=1389035&view=diff
==============================================================================
--- openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java (original)
+++ openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java Sun Sep 23 12:54:54 2012
@@ -206,7 +206,11 @@ public class TomcatJndiBuilder {
             for (Map.Entry<String, Object> entry : webContext.getBindings().entrySet()) {
                 try {
                     final String key = entry.getKey();
-                    Object value = normalize(entry.getValue());
+                    if (key.startsWith("global/")) { // will be done later
+                        continue;
+                    }
+
+                    final Object value = normalize(entry.getValue());
                     Contexts.createSubcontexts(root, key);
                     root.rebind(key, value);
                 } catch (NamingException e) {
@@ -215,6 +219,15 @@ public class TomcatJndiBuilder {
             }
         }
 
+        // merge global: we bind our global to be able to get a real global context and not a local one (bindigns)
+        if (root != null) {
+            try {
+                root.bind("global", SystemInstance.get().getComponent(ContainerSystem.class).getJNDIContext().lookup("global"));
+            } catch (NamingException e) {
+                e.printStackTrace();
+            }
+        }
+
         // try to force some binding which probably failed earlier (see in TomcatWebappBuilder)
         try {
             Context comp = (Context) ContextBindings.getClassLoader().lookup("comp");