diff options
Diffstat (limited to 'java/src/IceInternal/OutgoingConnectionFactory.java')
-rw-r--r-- | java/src/IceInternal/OutgoingConnectionFactory.java | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/java/src/IceInternal/OutgoingConnectionFactory.java b/java/src/IceInternal/OutgoingConnectionFactory.java index 638f84aab15..a3e5f01694e 100644 --- a/java/src/IceInternal/OutgoingConnectionFactory.java +++ b/java/src/IceInternal/OutgoingConnectionFactory.java @@ -378,22 +378,23 @@ public final class OutgoingConnectionFactory } public void - flushBatchRequests() + flushAsyncBatchRequests(CommunicatorBatchOutgoingAsync outAsync) { java.util.List<Ice.ConnectionI> c = new java.util.LinkedList<Ice.ConnectionI>(); synchronized(this) { - if(_destroyed) - { - return; - } - - for(java.util.List<Ice.ConnectionI> connectionList : _connections.values()) + if(!_destroyed) { - for(Ice.ConnectionI connection : connectionList) + for(java.util.List<Ice.ConnectionI> connectionList : _connections.values()) { - c.add(connection); + for(Ice.ConnectionI connection : connectionList) + { + if(connection.isActiveOrHolding()) + { + c.add(connection); + } + } } } } @@ -402,7 +403,7 @@ public final class OutgoingConnectionFactory { try { - conn.flushBatchRequests(); + outAsync.flushConnection(conn); } catch(Ice.LocalException ex) { |