1
package org.jboss.remoting.samples.transporter.custom.client;
3
import org.jboss.remoting.detection.jndi.JNDIDetector;
4
import org.jboss.remoting.network.NetworkRegistry;
5
import org.jboss.remoting.samples.transporter.basic.Address;
6
import org.jboss.remoting.samples.transporter.basic.Customer;
7
import org.jboss.remoting.samples.transporter.basic.CustomerProcessor;
8
import org.jboss.remoting.samples.transporter.custom.server.JNDIServer;
9
import org.jboss.remoting.samples.transporter.custom.server.SocketServer;
10
import org.jboss.remoting.transporter.InternalTransporterServices;
11
import org.jboss.remoting.transporter.TransporterClient;
13
import javax.management.MBeanServer;
14
import javax.management.MBeanServerFactory;
15
import javax.management.ObjectName;
16
import java.net.InetAddress;
19
* @author <a href="mailto:tom.elrod@jboss.com">Tom Elrod</a>
23
private String locatorURI = SocketServer.locatorURI;
25
private CustomerProcessor customerProcessor = null;
27
public void makeClientCall() throws Exception
29
Customer customer = createCustomer();
31
System.out.println("Customer to be processed: " + customer);
32
Customer processedCustomer = customerProcessor.processCustomer(customer);
33
System.out.println("Customer is now: " + processedCustomer);
35
//TransporterClient.destroyTransporterClient(customerProcessor);
38
public void getCustomerProcessor() throws Exception
40
initTransporterServices();
42
customerProcessor = (CustomerProcessor) TransporterClient.createTransporterClient(locatorURI, CustomerProcessor.class, true);
45
private void initTransporterServices() throws Exception
48
MBeanServer mbeanServer = MBeanServerFactory.createMBeanServer();
50
NetworkRegistry registry = NetworkRegistry.getInstance();
52
String host = InetAddress.getLocalHost().getHostAddress();
53
JNDIDetector jndiDetector = new JNDIDetector();
54
jndiDetector.setPort(JNDIServer.JNDI_PORT);
55
jndiDetector.setHost(host);
56
jndiDetector.setContextFactory("org.jnp.interfaces.NamingContextFactory");
57
jndiDetector.setURLPackage("org.jboss.naming:org.jnp.interfaces");
60
InternalTransporterServices transporterService = InternalTransporterServices.getInstance();
62
transporterService.setup(mbeanServer,
63
jndiDetector, new ObjectName("remoting:type=Detector,transport=jndi"),
64
registry, new ObjectName("remoting:type=NetworkRegistry"),
67
//TODO: -TME Have to start the detector after setup() call?
73
private Customer createCustomer()
75
Customer cust = new Customer();
76
cust.setFirstName("Bob");
77
cust.setLastName("Smith");
78
Address addr = new Address();
79
addr.setStreet("101 Oak Stree");
80
addr.setCity("Atlanta");
87
public static void main(String[] args)
89
org.jboss.remoting.samples.transporter.custom.client.Client client = new org.jboss.remoting.samples.transporter.custom.client.Client();
92
client.getCustomerProcessor();
97
client.makeClientCall();
98
Thread.currentThread().sleep(5000);