2
* JBoss, Home of Professional Open Source
3
* Copyright 2005, JBoss Inc., 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.
23
package org.jboss.test.remoting.byvalue;
25
import junit.framework.TestCase;
26
import org.jboss.remoting.Client;
27
import org.jboss.remoting.InvokerLocator;
28
import org.jboss.remoting.ServerInvocationHandler;
29
import org.jboss.remoting.invocation.NameBasedInvocation;
30
import org.jboss.remoting.transport.Connector;
31
import org.jboss.test.remoting.transport.mock.MockServerInvocationHandler;
34
* Just a simple example of how to setup remoting to make an invocation to local target,
35
* so are not actually going out of process, thus not really using any transport protocol.
37
* @author <a href="mailto:telrod@e2technologies.net">Tom Elrod</a>
39
public class ByValueInvocationTestCase extends TestCase
41
private Connector connector = null;
43
public void setupConfiguration(InvokerLocator locator, ServerInvocationHandler invocationHandler) throws Exception
45
connector = new Connector();
46
connector.setInvokerLocator(locator.getLocatorURI());
48
connector.addInvocationHandler("mock", invocationHandler);
51
public void testJavaInvocation() throws Throwable
53
InvokerLocator locator = new InvokerLocator("rmi://localhost:5400/?" +
54
InvokerLocator.BYVALUE + "=" + Boolean.TRUE.toString());
55
ServerInvocationHandler invocationHandler = new MockServerInvocationHandler();
60
setupConfiguration(locator, invocationHandler);
64
// This could have been new Client(locator), but want to show that subsystem param is null
65
Client remotingClient = new Client(locator);
66
remotingClient.connect();
67
ByValuePayload byValuePayload = new ByValuePayload();
68
Object response = remotingClient.invoke(new NameBasedInvocation("testByValue",
69
new Object[]{byValuePayload},
70
new String[]{byValuePayload.getClass().getName()}),
73
System.out.println("Invocation response: " + response);
74
if (response instanceof Boolean)
76
assertTrue("Result of testByValue is false.", ((Boolean) response).booleanValue());
80
assertTrue("Result of testByValue was not even of type Boolean.", false);
82
remotingClient.disconnect();
86
if (connector != null)
96
public void testJBossInvocation() throws Throwable
98
InvokerLocator locator = new InvokerLocator("rmi://localhost:5401/?" +
99
InvokerLocator.BYVALUE + "=" + Boolean.TRUE.toString() + "&" +
100
InvokerLocator.SERIALIZATIONTYPE + "=" + "jboss");
101
ServerInvocationHandler invocationHandler = new MockServerInvocationHandler();
106
setupConfiguration(locator, invocationHandler);
110
// This could have been new Client(locator), but want to show that subsystem param is null
111
Client remotingClient = new Client(locator);
112
remotingClient.connect();
113
ByValuePayload byValuePayload = new ByValuePayload();
114
Object response = remotingClient.invoke(new NameBasedInvocation("testByValue",
115
new Object[]{byValuePayload},
116
new String[]{byValuePayload.getClass().getName()}),
119
System.out.println("Invocation response: " + response);
120
if (response instanceof Boolean)
122
assertTrue("Result of testByValue is false.", ((Boolean) response).booleanValue());
126
assertTrue("Result of testByValue was not even of type Boolean.", false);
128
remotingClient.disconnect();
132
if (connector != null)
b'\\ No newline at end of file'