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;