You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by da...@apache.org on 2005/12/31 04:59:13 UTC
svn commit: r360233 -
/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/CallbackRegistry.java
Author: dasarath
Date: Fri Dec 30 19:59:11 2005
New Revision: 360233
URL: http://svn.apache.org/viewcvs?rev=360233&view=rev
Log: (empty)
Modified:
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/CallbackRegistry.java
Modified: webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/CallbackRegistry.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/CallbackRegistry.java?rev=360233&r1=360232&r2=360233&view=diff
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/CallbackRegistry.java (original)
+++ webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/CallbackRegistry.java Fri Dec 30 19:59:11 2005
@@ -9,6 +9,8 @@
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import java.util.Timer;
+import java.util.TimerTask;
import javax.xml.namespace.QName;
@@ -27,6 +29,13 @@
public static final QName COORDINATOR_REF = new QName(
"http://ws.apache.org/kandula", "CoordinatorRef");
+ public static final int DEFAULT_TIMEOUT_MILLIS = 90 * 1000; // the value is
+
+ // for testing
+ // only...
+
+ private Timer timer = new Timer();
+
private static final CallbackRegistry instance = new CallbackRegistry();
private Map callbacks = new HashMap();
@@ -40,6 +49,21 @@
public synchronized void registerCallback(String ref, Object callback) {
callbacks.put(ref, callback);
+ }
+
+ public synchronized void registerCallback(String ref,
+ final Callback callback, long timeout) {
+ callbacks.put(ref, callback);
+ if (timeout == 0)
+ timeout = DEFAULT_TIMEOUT_MILLIS;
+ System.out.println("[CallbackRegistry] registerCallback: timeout= "
+ + timeout);
+ timer.schedule(new TimerTask() {
+ public void run() {
+ callbacks.remove(callback);
+ callback.timeout();
+ }
+ }, timeout);
}
public synchronized Object correlateMessage(QName q, boolean terminal) {
---------------------------------------------------------------------
To unsubscribe, e-mail: kandula-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: kandula-dev-help@ws.apache.org