Author: rmannibucau
Date: Fri Aug 10 14:44:56 2012
New Revision: 1371723

URL: http://svn.apache.org/viewvc?rev=1371723&view=rev
Log:
fallback to resources for remote client + queue and topic type - need to be 
clearly reworked

Modified:
    
openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java

Modified: 
openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java?rev=1371723&r1=1371722&r2=1371723&view=diff
==============================================================================
--- 
openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
 (original)
+++ 
openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
 Fri Aug 10 14:44:56 2012
@@ -28,8 +28,10 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Queue;
 import java.util.Set;
 import javax.jms.ConnectionFactory;
+import javax.jms.Topic;
 import javax.naming.Context;
 import javax.naming.NameClassPair;
 import javax.naming.NameNotFoundException;
@@ -208,7 +210,11 @@ class JndiRequestHandler {
                 res.setResult(metaData);
                 return;
             } else {
-                object = rootContext.lookup(prefix + name);
+                try {
+                    object = rootContext.lookup(prefix + name);
+                } catch (NameNotFoundException nnfe) { // fallback to resources
+                    object = rootContext.lookup("openejb/Resource/" + name);
+                }
             }
 
             if (object instanceof Context) {
@@ -249,6 +255,14 @@ class JndiRequestHandler {
                 res.setResponseCode(ResponseCodes.JNDI_RESOURCE);
                 res.setResult(Validator.class.getName());
                 return;
+            } else if (object instanceof Queue) {
+                res.setResponseCode(ResponseCodes.JNDI_RESOURCE);
+                res.setResult(Queue.class.getName());
+                return;
+            } else if (object instanceof Topic) {
+                res.setResponseCode(ResponseCodes.JNDI_RESOURCE);
+                res.setResult(Topic.class.getName());
+                return;
             }
 
             ServiceRefData serviceRef;


Reply via email to