summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ObjectAdapterFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/ObjectAdapterFactory.java')
-rw-r--r--java/src/IceInternal/ObjectAdapterFactory.java21
1 files changed, 13 insertions, 8 deletions
diff --git a/java/src/IceInternal/ObjectAdapterFactory.java b/java/src/IceInternal/ObjectAdapterFactory.java
index 2f139d16740..edab241f2cc 100644
--- a/java/src/IceInternal/ObjectAdapterFactory.java
+++ b/java/src/IceInternal/ObjectAdapterFactory.java
@@ -149,18 +149,23 @@ public final class ObjectAdapterFactory
return null;
}
- public synchronized Ice.ObjectAdapterI[]
- adapters()
+ public void
+ flushBatchRequests()
{
java.util.LinkedList a = new java.util.LinkedList();
- java.util.Iterator i = _adapters.values().iterator();
- while(i.hasNext())
+ synchronized(this)
+ {
+ java.util.Iterator i = _adapters.values().iterator();
+ while(i.hasNext())
+ {
+ a.add(i.next());
+ }
+ }
+ java.util.Iterator p = a.iterator();
+ while(p.hasNext())
{
- a.add(i.next());
+ ((Ice.ObjectAdapterI)p.next()).flushBatchRequests();
}
- Ice.ObjectAdapterI[] arr = new Ice.ObjectAdapterI[a.size()];
- a.toArray(arr);
- return arr;
}
//