summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/IceInternal/Direct.java4
-rw-r--r--java/src/IceInternal/Incoming.java12
2 files changed, 16 insertions, 0 deletions
diff --git a/java/src/IceInternal/Direct.java b/java/src/IceInternal/Direct.java
index e4162b975e4..d36d35150d7 100644
--- a/java/src/IceInternal/Direct.java
+++ b/java/src/IceInternal/Direct.java
@@ -37,6 +37,10 @@ public final class Direct
if(_servant == null)
{
_locator = servantManager.findServantLocator(_current.id.category);
+ if(_locator == null && _current.id.category.length() > 0)
+ {
+ _locator = servantManager.findServantLocator("");
+ }
if(_locator != null)
{
_cookie = new Ice.LocalObjectHolder(); // Lazy creation.
diff --git a/java/src/IceInternal/Incoming.java b/java/src/IceInternal/Incoming.java
index 11c433f53d0..59954012806 100644
--- a/java/src/IceInternal/Incoming.java
+++ b/java/src/IceInternal/Incoming.java
@@ -111,6 +111,18 @@ final public class Incoming extends IncomingBase
if(_servant == null)
{
_locator = servantManager.findServantLocator(_current.id.category);
+ if(_locator == null && _current.id.category.length() > 0)
+ {
+ _locator = servantManager.findServantLocator("");
+ }
+ if(_locator != null)
+ {
+ _servant = _locator.locate(_current, _cookie);
+ }
+ }
+ if(_servant == null)
+ {
+ _locator = servantManager.findServantLocator("");
if(_locator != null)
{
_servant = _locator.locate(_current, _cookie);