2
* JBoss, a division of Red Hat
3
* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
4
* by the @authors tag. See the copyright.txt in the distribution for a
5
* full listing of individual contributors.
7
* This is free software; you can redistribute it and/or modify it
8
* under the terms of the GNU Lesser General Public License as
9
* published by the Free Software Foundation; either version 2.1 of
10
* the License, or (at your option) any later version.
12
* This software is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with this software; if not, write to the Free
19
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
22
package org.jboss.test.remoting.lease.http.multiple;
24
import junit.framework.TestCase;
25
import org.jboss.remoting.Client;
26
import org.jboss.remoting.InvokerLocator;
27
import org.jboss.remoting.callback.Callback;
28
import org.jboss.remoting.callback.HandleCallbackException;
29
import org.jboss.remoting.callback.InvokerCallbackHandler;
31
import java.util.HashMap;
35
* @author <a href="mailto:tom@jboss.org">Tom Elrod</a>
37
public class HTTPLeaseTestClient extends TestCase
39
// Default locator values
40
private static String transport = "http";
41
private static String host = "localhost";
42
private static int port = 5400;
44
private String locatorURI = transport + "://" + host + ":" + port + "/?" + InvokerLocator.CLIENT_LEASE + "=" + "true";
45
private String callbackLocatorURI = transport + "://" + host + ":" + (port + 1);
47
// public void setUp()
49
// org.apache.log4j.BasicConfigurator.configure();
50
// org.apache.log4j.Category.getRoot().setLevel(Level.INFO);
51
// org.apache.log4j.Category.getInstance("org.jboss.remoting").setLevel(XLevel.TRACE);
52
// org.apache.log4j.Category.getInstance("org.jgroups").setLevel(Level.FATAL);
55
protected String getLocatorUri()
60
public void testMultipleLeases() throws Throwable
62
InvokerLocator locator = new InvokerLocator(getLocatorUri());
63
System.out.println("Calling remoting server with locator uri of: " + getLocatorUri());
65
//InvokerLocator callbackLocator = new InvokerLocator(callbackLocatorURI);
66
//Connector callbackConnector = new Connector(callbackLocator);
67
//callbackConnector.create();
68
//callbackConnector.start();
70
//TestCallbackHandler callbackHandler = new TestCallbackHandler();
72
Map metadata = new HashMap();
73
metadata.put("clientName", "test1");
74
Client remotingClient1 = new Client(locator, metadata);
75
remotingClient1.connect();
77
//remotingClient1.addListener(callbackHandler, callbackLocator);
79
Object ret = remotingClient1.invoke("test1");
80
System.out.println("Response was: " + ret);
82
Thread.currentThread().sleep(1000);
84
// now create second client
85
Map metadata2 = new HashMap();
86
metadata2.put("clientName", "test1");
87
Client remotingClient2 =new Client(locator, metadata2);
88
remotingClient2.connect();
89
//remotingClient2.addListener(callbackHandler, callbackLocator);
91
ret = remotingClient2.invoke("test2");
92
System.out.println("Response was: " + ret);
94
ret = remotingClient1.invoke("test1");
95
System.out.println("Response was: " + ret);
97
Thread.currentThread().sleep(1000);
99
if(remotingClient1 != null)
101
//remotingClient1.removeListener(callbackHandler);
102
remotingClient1.disconnect();
105
System.out.println("remoting client 1 disconnected");
107
//Thread.currentThread().sleep(10000);
108
Thread.currentThread().sleep(30000);
110
ret = remotingClient2.invoke("test2");
111
System.out.println("Response was: " + ret);
113
if(remotingClient2 != null)
115
//remotingClient2.removeListener(callbackHandler);
116
remotingClient2.disconnect();
121
public class TestCallbackHandler implements InvokerCallbackHandler
124
public void handleCallback(Callback callback) throws HandleCallbackException
126
System.out.println("callback: " + callback);