1
/***************************************
3
* JBoss: The OpenSource J2EE WebOS *
5
* Distributable under LGPL license. *
6
* See terms of license at gnu.org. *
8
***************************************/
9
package org.jboss.test.remoting.performance.spring.rmi;
11
import java.util.concurrent.Latch;
12
import org.jboss.remoting.callback.Callback;
13
import org.jboss.remoting.callback.HandleCallbackException;
16
* @author <a href="mailto:tom@jboss.org">Tom Elrod</a>
18
public class SpringRMICallbackServerImpl implements SpringRMICallbackServer
20
private String sessionId;
22
private int numberOfCallsProcessed = 0;
23
private int numberOfDuplicates = 0;
26
// public SpringRMICallbackServerImpl(String sessionId, Latch lock)
28
// this.sessionId = sessionId;
32
public void finishedProcessing(Object obj)
34
System.out.println("finishedProcessing called with " + obj);
35
Callback callback = (Callback)obj;
38
handleCallback(callback);
40
catch(HandleCallbackException e)
46
public void setClientSessionId(String clientSessionId)
48
this.sessionId = clientSessionId;
51
public void setServerDoneLock(Latch serverDoneLock)
53
this.lock = serverDoneLock;
56
public int getNumberOfCallsProcessed()
58
return numberOfCallsProcessed;
61
public int getNumberOfDuplicates()
63
return numberOfDuplicates;
66
public void handleCallback(Callback callback) throws HandleCallbackException
68
Object ret = callback.getCallbackObject();
69
Integer[] handledArray = (Integer[])ret;
70
Integer numOfCallsHandled = (Integer) handledArray[0];
71
Integer numOfDuplicates = (Integer) handledArray[1];
72
System.out.println("Server is done. Number of calls handled: " + numOfCallsHandled);
73
numberOfCallsProcessed = numOfCallsHandled.intValue();
74
System.out.println("Number of duplicate calls: " + numOfDuplicates);
75
numberOfDuplicates = numOfDuplicates.intValue();
76
Object obj = callback.getCallbackHandleObject();
77
//String handbackObj = (String) obj;
78
//System.out.println("Handback object should be " + sessionId + " and server called back with " + handbackObj);