diff options
Diffstat (limited to 'java/src/IceInternal/Connection.java')
-rw-r--r-- | java/src/IceInternal/Connection.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/java/src/IceInternal/Connection.java b/java/src/IceInternal/Connection.java index 8d37fbfb35c..b168179422f 100644 --- a/java/src/IceInternal/Connection.java +++ b/java/src/IceInternal/Connection.java @@ -746,11 +746,25 @@ public final class Connection extends EventHandler if(_adapter != null) { // - // Incoming connections play the active role with - // respect to connection validation. + // Incoming connections play the active role with respect + // to connection validation, and are implicitly validated. // + try + { + validateConnection(); + } + catch(Ice.LocalException ex) + { + if(_warn) + { + warning("connection exception", ex); + } + _transceiver.close(); + _state = StateClosed; + throw ex; + } + _connectionValidated = true; - validateConnection(); } else { |