1
package org.jboss.test.remoting.callback.push.unidirectional;
3
import org.jboss.jrunit.extensions.ServerTestCase;
4
import org.jboss.remoting.InvocationRequest;
5
import org.jboss.remoting.ServerInvocationHandler;
6
import org.jboss.remoting.ServerInvoker;
7
import org.jboss.remoting.callback.Callback;
8
import org.jboss.remoting.callback.InvokerCallbackHandler;
9
import org.jboss.remoting.transport.Connector;
11
import javax.management.MBeanServer;
12
import java.util.ArrayList;
13
import java.util.List;
16
* @author <a href="mailto:tom.elrod@jboss.com">Tom Elrod</a>
18
public abstract class CallbackPollTestServer extends ServerTestCase
20
private Connector connector = null;
22
public void setUp() throws Exception
24
connector = new Connector(getLocatorUri());
26
connector.addInvocationHandler("test", new TestInvocationHandler());
30
public void tearDown() throws Exception
32
if (connector != null)
39
private String getLocatorUri()
41
return getTransport() + "://" + getHost() + ":" + getPort();
44
public abstract String getTransport();
46
public String getHost()
57
public class TestInvocationHandler implements ServerInvocationHandler
60
private List listeners = new ArrayList();
62
public void setMBeanServer(MBeanServer server)
64
//TODO: -TME Implement
67
public void setInvoker(ServerInvoker invoker)
69
//TODO: -TME Implement
72
public Object invoke(InvocationRequest invocation) throws Throwable
74
for (int x = 0; x < listeners.size(); x++)
76
InvokerCallbackHandler callbackHandler = (InvokerCallbackHandler) listeners.get(x);
77
callbackHandler.handleCallback(new Callback("This is callback payload"));
82
public void addListener(InvokerCallbackHandler callbackHandler)
84
listeners.add(callbackHandler);
87
public void removeListener(InvokerCallbackHandler callbackHandler)
89
listeners.remove(callbackHandler);