Title: [2625] branches/v2_1/openejb2/modules/core/src/java/org/openejb: don't remove a required / from an abstract name query
- Revision
- 2625
- Author
- djencks
- Date
- 2006-04-26 00:18:19 -0400 (Wed, 26 Apr 2006)
Log Message
don't remove a required / from an abstract name query
Modified Paths
Diff
Modified: branches/v2_1/openejb2/modules/core/src/java/org/openejb/ContainerIndex.java (2624 => 2625)
--- branches/v2_1/openejb2/modules/core/src/java/org/openejb/ContainerIndex.java 2006-04-26 04:17:38 UTC (rev 2624)
+++ branches/v2_1/openejb2/modules/core/src/java/org/openejb/ContainerIndex.java 2006-04-26 04:18:19 UTC (rev 2625)
@@ -206,6 +206,9 @@
} catch (URISyntaxException e) {
log.error("containerId is not a valid URI: " + containerID);
return -1;
+ } catch (IllegalArgumentException e) {
+ //not a valid abstract name
+ return -1;
}
EJBContainer ejbContainer;
try {
Modified: branches/v2_1/openejb2/modules/core/src/java/org/openejb/server/ejbd/JndiRequestHandler.java (2624 => 2625)
--- branches/v2_1/openejb2/modules/core/src/java/org/openejb/server/ejbd/JndiRequestHandler.java 2006-04-26 04:17:38 UTC (rev 2624)
+++ branches/v2_1/openejb2/modules/core/src/java/org/openejb/server/ejbd/JndiRequestHandler.java 2006-04-26 04:18:19 UTC (rev 2625)
@@ -174,12 +174,13 @@
} else {
int index = containerIndex.getContainerIndexByJndiName(name);
if (index <= 0) {
- // name not found... check if an object name was sent directly
- index = containerIndex.getContainerIndex(name);
+ // name not found... check if an abstract name was sent directly
+ index = containerIndex.getContainerIndex(req.getRequestString());
}
if (index <=0) {
- //treat it as an abstractnameQuery and try to resolve it.
- AbstractNameQuery abstractNameQuery = new AbstractNameQuery(URI.create(name));
+ //treat it as an abstractnameQuery and try to resolve it. Don't remove a leading /
+ URI uri = URI.create(req.getRequestString());
+ AbstractNameQuery abstractNameQuery = new AbstractNameQuery(uri);
Kernel kernel = KernelRegistry.getSingleKernel();
Set results = kernel.listGBeans(abstractNameQuery);
if (results.size() != 1) {
@@ -206,6 +207,7 @@
}
}
+
private void replyWithFatalError(ObjectOutputStream out, Throwable error, String message) {
log.error(message, error);