You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2011/09/18 04:31:57 UTC

svn commit: r1172169 - /openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/common/LookupFactory.java

Author: dblevins
Date: Sun Sep 18 02:31:56 2011
New Revision: 1172169

URL: http://svn.apache.org/viewvc?rev=1172169&view=rev
Log:
if the first lookup doesn't succeed, try again with a new InitialContext

Modified:
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/common/LookupFactory.java

Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/common/LookupFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/common/LookupFactory.java?rev=1172169&r1=1172168&r2=1172169&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/common/LookupFactory.java (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/common/LookupFactory.java Sun Sep 18 02:31:56 2011
@@ -17,7 +17,9 @@
 package org.apache.openejb.tomcat.common;
 
 import javax.naming.Context;
+import javax.naming.InitialContext;
 import javax.naming.Name;
+import javax.naming.NameNotFoundException;
 import javax.naming.Reference;
 import javax.naming.spi.ObjectFactory;
 import java.util.Hashtable;
@@ -26,6 +28,7 @@ import static org.apache.openejb.tomcat.
 import static org.apache.openejb.tomcat.common.NamingUtil.getProperty;
 
 /**
+ * TODO Add infinite lookup loop protection
  * @version $Rev$ $Date$
  */
 public class LookupFactory implements ObjectFactory {
@@ -39,9 +42,11 @@ public class LookupFactory implements Ob
 
         if (jndiName == null) return null;
 
-        jndiName = jndiName.replaceFirst("^java:","");
-
-        return context.lookup(jndiName);
+        try {
+            return context.lookup(jndiName.replaceFirst("^java:", ""));
+        } catch (NameNotFoundException e) {
+            return new InitialContext().lookup(jndiName);
+        }
     }
 
 }