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);
+ }
}
}