summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/BatchOutgoingAsync.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/BatchOutgoingAsync.java')
-rw-r--r--java/src/IceInternal/BatchOutgoingAsync.java86
1 files changed, 3 insertions, 83 deletions
diff --git a/java/src/IceInternal/BatchOutgoingAsync.java b/java/src/IceInternal/BatchOutgoingAsync.java
index 94e15c2dca3..b96e3e047cf 100644
--- a/java/src/IceInternal/BatchOutgoingAsync.java
+++ b/java/src/IceInternal/BatchOutgoingAsync.java
@@ -9,98 +9,18 @@
package IceInternal;
-public abstract class BatchOutgoingAsync implements OutgoingAsyncMessageCallback
+public abstract class BatchOutgoingAsync extends OutgoingAsyncMessageCallback
{
- public
- BatchOutgoingAsync()
- {
- }
-
- public abstract void ice_exception(Ice.LocalException ex);
-
- public final BasicStream
- __os()
- {
- return __os;
- }
-
public final void
__sent(final Ice.ConnectionI connection)
{
- synchronized(_monitor)
- {
- cleanup();
- }
+ __release();
}
public final void
__finished(Ice.LocalException exc)
{
- try
- {
- ice_exception(exc);
- }
- catch(java.lang.Exception ex)
- {
- warning(ex);
- }
- finally
- {
- synchronized(_monitor)
- {
- cleanup();
- }
- }
- }
-
- protected final void
- __prepare(Instance instance)
- {
- synchronized(_monitor)
- {
- while(__os != null)
- {
- try
- {
- _monitor.wait();
- }
- catch(InterruptedException ex)
- {
- }
- }
-
- assert(__os == null);
- __os = new BasicStream(instance);
- }
- }
-
- private final void
- warning(java.lang.Exception ex)
- {
- if(__os != null) // Don't print anything if cleanup() was already called.
- {
- if(__os.instance().initializationData().properties.getPropertyAsIntWithDefault(
- "Ice.Warn.AMICallback", 1) > 0)
- {
- java.io.StringWriter sw = new java.io.StringWriter();
- java.io.PrintWriter pw = new java.io.PrintWriter(sw);
- IceUtil.OutputBase out = new IceUtil.OutputBase(pw);
- out.setUseTab(false);
- out.print("exception raised by AMI callback:\n");
- ex.printStackTrace(pw);
- pw.flush();
- __os.instance().initializationData().logger.warning(sw.toString());
- }
- }
- }
-
- private final void
- cleanup()
- {
- __os = null;
- _monitor.notify();
+ __exception(exc);
}
- protected BasicStream __os;
- private final java.lang.Object _monitor = new java.lang.Object();
}