summaryrefslogtreecommitdiff
path: root/java/src/Ice/ObjectPrxHelperBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/Ice/ObjectPrxHelperBase.java')
-rw-r--r--java/src/Ice/ObjectPrxHelperBase.java85
1 files changed, 62 insertions, 23 deletions
diff --git a/java/src/Ice/ObjectPrxHelperBase.java b/java/src/Ice/ObjectPrxHelperBase.java
index 72df0844773..87c3b86f3d2 100644
--- a/java/src/Ice/ObjectPrxHelperBase.java
+++ b/java/src/Ice/ObjectPrxHelperBase.java
@@ -82,7 +82,7 @@ public class ObjectPrxHelperBase implements ObjectPrx
try
{
__checkTwowayOnly("ice_isA");
- __del = __getDelegate();
+ __del = __getDelegate(false);
return __del.ice_isA(__id, __context);
}
catch(IceInternal.LocalExceptionWrapper __ex)
@@ -122,7 +122,7 @@ public class ObjectPrxHelperBase implements ObjectPrx
_ObjectDel __del = null;
try
{
- __del = __getDelegate();
+ __del = __getDelegate(false);
__del.ice_ping(__context);
return;
}
@@ -164,7 +164,7 @@ public class ObjectPrxHelperBase implements ObjectPrx
try
{
__checkTwowayOnly("ice_ids");
- __del = __getDelegate();
+ __del = __getDelegate(false);
return __del.ice_ids(__context);
}
catch(IceInternal.LocalExceptionWrapper __ex)
@@ -205,7 +205,7 @@ public class ObjectPrxHelperBase implements ObjectPrx
try
{
__checkTwowayOnly("ice_id");
- __del = __getDelegate();
+ __del = __getDelegate(false);
return __del.ice_id(__context);
}
catch(IceInternal.LocalExceptionWrapper __ex)
@@ -247,7 +247,7 @@ public class ObjectPrxHelperBase implements ObjectPrx
_ObjectDel __del = null;
try
{
- __del = __getDelegate();
+ __del = __getDelegate(false);
return __del.ice_invoke(operation, mode, inParams, outParams, context);
}
catch(IceInternal.LocalExceptionWrapper __ex)
@@ -776,8 +776,8 @@ public class ObjectPrxHelperBase implements ObjectPrx
**/
public final Connection
ice_connection()
- {
- return ice_getConnection();
+ {
+ return ice_getConnection();
}
public final Connection
@@ -789,8 +789,9 @@ public class ObjectPrxHelperBase implements ObjectPrx
_ObjectDel __del = null;
try
{
- __del = __getDelegate();
- return __del.__getConnection(new BooleanHolder());
+ __del = __getDelegate(false);
+ // Wait for the connection to be established.
+ return __del.__getRequestHandler().getConnection(true);
}
catch(LocalException __ex)
{
@@ -812,7 +813,8 @@ public class ObjectPrxHelperBase implements ObjectPrx
{
try
{
- return __del.__getConnection(new BooleanHolder());
+ // Don't wait for the connection to be established.
+ return __del.__getRequestHandler().getConnection(false);
}
catch(CollocationOptimizationException ex)
{
@@ -821,6 +823,36 @@ public class ObjectPrxHelperBase implements ObjectPrx
return null;
}
+ public void
+ ice_flushBatchRequests()
+ {
+ int __cnt = 0;
+ while(true)
+ {
+ _ObjectDel __del = null;
+ try
+ {
+ __del = __getDelegate(false);
+ __del.ice_flushBatchRequests();
+ return;
+ }
+ catch(IceInternal.LocalExceptionWrapper __ex)
+ {
+ __handleExceptionWrapper(__del, __ex);
+ }
+ catch(LocalException __ex)
+ {
+ __cnt = __handleException(__del, __ex, __cnt);
+ }
+ }
+ }
+
+ public void
+ ice_flushBatchRequests_async(AMI_Object_ice_flushBatchRequests cb)
+ {
+ cb.__invoke(this);
+ }
+
public final boolean
equals(java.lang.Object r)
{
@@ -988,7 +1020,7 @@ public class ObjectPrxHelperBase implements ObjectPrx
}
public final synchronized _ObjectDel
- __getDelegate()
+ __getDelegate(boolean async)
{
if(_delegate != null)
{
@@ -1010,19 +1042,8 @@ public class ObjectPrxHelperBase implements ObjectPrx
if(delegate == null)
{
_ObjectDelM d = __createDelegateM();
- d.setup(_reference);
+ d.setup(_reference, this, async);
delegate = d;
-
- //
- // If this proxy is for a non-local object, and we are
- // using a router, then add this proxy to the router info
- // object.
- //
- IceInternal.RouterInfo ri = _reference.getRouterInfo();
- if(ri != null)
- {
- ri.addProxy(this);
- }
}
if(_reference.getCacheConnection())
@@ -1038,6 +1059,24 @@ public class ObjectPrxHelperBase implements ObjectPrx
return delegate;
}
+ synchronized public void
+ __setRequestHandler(_ObjectDel delegate, IceInternal.RequestHandler handler)
+ {
+ if(delegate == _delegate)
+ {
+ if(_delegate instanceof _ObjectDelM)
+ {
+ _delegate = __createDelegateM();
+ _delegate.__setRequestHandler(handler);
+ }
+ else if(_delegate instanceof _ObjectDelD)
+ {
+ _delegate = __createDelegateD();
+ _delegate.__setRequestHandler(handler);
+ }
+ }
+ }
+
protected _ObjectDelM
__createDelegateM()
{