summaryrefslogtreecommitdiff
path: root/java-compat/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2017-06-08 14:30:51 +0200
committerBenoit Foucher <benoit@zeroc.com>2017-06-08 14:30:51 +0200
commitdc1e2f82241d2860ae481b8e0d8442e248c7b89c (patch)
treeab5aafe6bb280e03ee5f0e7c37e2ea3094326178 /java-compat/src
parentFixed bogus C# ami/metrics tests (diff)
downloadice-dc1e2f82241d2860ae481b8e0d8442e248c7b89c.tar.bz2
ice-dc1e2f82241d2860ae481b8e0d8442e248c7b89c.tar.xz
ice-dc1e2f82241d2860ae481b8e0d8442e248c7b89c.zip
Fixed ICE-7994 - invocation metrics issue with AMI batch oneway requests
Diffstat (limited to 'java-compat/src')
-rw-r--r--java-compat/src/Ice/src/main/java/IceInternal/AsyncResultI.java7
-rw-r--r--java-compat/src/Ice/src/main/java/IceInternal/OutgoingAsync.java4
-rw-r--r--java-compat/src/Ice/src/main/java/IceInternal/ProxyGetConnection.java4
-rw-r--r--java-compat/src/Ice/src/main/java/IceInternal/ProxyOutgoingAsyncBase.java4
4 files changed, 10 insertions, 9 deletions
diff --git a/java-compat/src/Ice/src/main/java/IceInternal/AsyncResultI.java b/java-compat/src/Ice/src/main/java/IceInternal/AsyncResultI.java
index b0369089d66..3cc9c9c45d3 100644
--- a/java-compat/src/Ice/src/main/java/IceInternal/AsyncResultI.java
+++ b/java-compat/src/Ice/src/main/java/IceInternal/AsyncResultI.java
@@ -328,7 +328,7 @@ public class AsyncResultI implements AsyncResult
}
}
- protected boolean finished(boolean ok)
+ protected boolean finished(boolean ok, boolean invoke)
{
synchronized(this)
{
@@ -338,7 +338,8 @@ public class AsyncResultI implements AsyncResult
_state |= StateOK;
}
_cancellationHandler = null;
- if(_callback == null)
+ invoke &= _callback != null;
+ if(!invoke)
{
if(_observer != null)
{
@@ -347,7 +348,7 @@ public class AsyncResultI implements AsyncResult
}
}
this.notifyAll();
- return _callback != null;
+ return invoke;
}
}
diff --git a/java-compat/src/Ice/src/main/java/IceInternal/OutgoingAsync.java b/java-compat/src/Ice/src/main/java/IceInternal/OutgoingAsync.java
index be1eaef7a8f..d2470858ada 100644
--- a/java-compat/src/Ice/src/main/java/IceInternal/OutgoingAsync.java
+++ b/java-compat/src/Ice/src/main/java/IceInternal/OutgoingAsync.java
@@ -170,7 +170,7 @@ public class OutgoingAsync extends ProxyOutgoingAsyncBase
//
_sentSynchronously = true;
_proxy._getBatchRequestQueue().finishBatchRequest(_os, _proxy, getOperation());
- finished(true);
+ finished(true, false);
}
else
{
@@ -333,7 +333,7 @@ public class OutgoingAsync extends ProxyOutgoingAsyncBase
}
}
- return finished(replyStatus == ReplyStatus.replyOK);
+ return finished(replyStatus == ReplyStatus.replyOK, true);
}
catch(Ice.Exception ex)
{
diff --git a/java-compat/src/Ice/src/main/java/IceInternal/ProxyGetConnection.java b/java-compat/src/Ice/src/main/java/IceInternal/ProxyGetConnection.java
index c918107e4ca..74919c5ddb5 100644
--- a/java-compat/src/Ice/src/main/java/IceInternal/ProxyGetConnection.java
+++ b/java-compat/src/Ice/src/main/java/IceInternal/ProxyGetConnection.java
@@ -35,7 +35,7 @@ public class ProxyGetConnection extends ProxyOutgoingAsyncBase
throws RetryException
{
_cachedConnection = connection;
- if(finished(true))
+ if(finished(true, true))
{
invokeCompletedAsync();
}
@@ -45,7 +45,7 @@ public class ProxyGetConnection extends ProxyOutgoingAsyncBase
@Override
public int invokeCollocated(CollocatedRequestHandler handler)
{
- if(finished(true))
+ if(finished(true, true))
{
invokeCompletedAsync();
}
diff --git a/java-compat/src/Ice/src/main/java/IceInternal/ProxyOutgoingAsyncBase.java b/java-compat/src/Ice/src/main/java/IceInternal/ProxyOutgoingAsyncBase.java
index 507c8aea68f..68308f97184 100644
--- a/java-compat/src/Ice/src/main/java/IceInternal/ProxyOutgoingAsyncBase.java
+++ b/java-compat/src/Ice/src/main/java/IceInternal/ProxyOutgoingAsyncBase.java
@@ -291,14 +291,14 @@ public abstract class ProxyOutgoingAsyncBase extends OutgoingAsyncBase
}
@Override
- protected boolean finished(boolean ok)
+ protected boolean finished(boolean ok, boolean invoke)
{
if(_future != null)
{
_future.cancel(false);
_future = null;
}
- return super.finished(ok);
+ return super.finished(ok, invoke);
}
protected int handleException(Ice.Exception exc)