summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2015-06-03 18:17:59 +0200
committerBenoit Foucher <benoit@zeroc.com>2015-06-03 18:17:59 +0200
commitc4035e1fb3fe8d54d826b3f61aeaac4d91019385 (patch)
treed3e49482e1284dddcdef82f6168a281df43ffd1a /java/src
parentFixed use of deprecated IceSSL property (diff)
downloadice-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.java20
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)