diff options
author | Benoit Foucher <benoit@zeroc.com> | 2015-06-03 18:17:59 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2015-06-03 18:17:59 +0200 |
commit | c4035e1fb3fe8d54d826b3f61aeaac4d91019385 (patch) | |
tree | d3e49482e1284dddcdef82f6168a281df43ffd1a /java/src | |
parent | Fixed use of deprecated IceSSL property (diff) | |
download | ice-c4035e1fb3fe8d54d826b3f61aeaac4d91019385.tar.bz2 ice-c4035e1fb3fe8d54d826b3f61aeaac4d91019385.tar.xz ice-c4035e1fb3fe8d54d826b3f61aeaac4d91019385.zip |
Fixed initConnectionInfo to no longer throw
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/src/main/java/Ice/ConnectionI.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/java/src/Ice/src/main/java/Ice/ConnectionI.java b/java/src/Ice/src/main/java/Ice/ConnectionI.java index 9cc6722421c..a5034133193 100644 --- a/java/src/Ice/src/main/java/Ice/ConnectionI.java +++ b/java/src/Ice/src/main/java/Ice/ConnectionI.java @@ -2672,21 +2672,23 @@ public final class ConnectionI extends IceInternal.EventHandler private ConnectionInfo initConnectionInfo() { - if(_info != null) + if(_state > StateNotInitialized && _info != null) // Update the connection information until it's initialized { return _info; } - ConnectionInfo info = _transceiver.getInfo(); - info.connectionId = _endpoint.connectionId(); - info.adapterName = _adapter != null ? _adapter.getName() : ""; - info.incoming = _connector == null; - if(_state > StateNotInitialized) + try + { + _info = _transceiver.getInfo(); + } + catch(Ice.LocalException ex) { - _info = info; // Cache the connection information only if - // initialized. + _info = new ConnectionInfo(); } - return info; + _info.connectionId = _endpoint.connectionId(); + _info.adapterName = _adapter != null ? _adapter.getName() : ""; + _info.incoming = _connector == null; + return _info; } private Ice.Instrumentation.ConnectionState toConnectionState(int state) |