1
package org.jboss.remoting.samples.transporter.custom.server;
3
import org.jboss.remoting.detection.jndi.JNDIDetector;
4
import org.jboss.remoting.network.NetworkRegistry;
5
import org.jboss.remoting.samples.transporter.basic.CustomerProcessor;
6
import org.jboss.remoting.samples.transporter.basic.CustomerProcessorImpl;
7
import org.jboss.remoting.transporter.InternalTransporterServices;
8
import org.jboss.remoting.transporter.TransporterServer;
10
import javax.management.MBeanServer;
11
import javax.management.MBeanServerFactory;
12
import javax.management.ObjectName;
13
import java.net.InetAddress;
17
* @author <a href="mailto:tom.elrod@jboss.com">Tom Elrod</a>
19
public class RMIServer
21
private String localLocatorURI = "rmi://localhost:5500";
23
private TransporterServer server = null;
25
public void start() throws Exception
27
initTransporterServices();
29
server = TransporterServer.createTransporterServer(localLocatorURI, new CustomerProcessorImpl(),
30
CustomerProcessor.class.getName(), true);
41
private void initTransporterServices() throws Exception
44
MBeanServer mbeanServer = MBeanServerFactory.createMBeanServer();
46
NetworkRegistry registry = NetworkRegistry.getInstance();
48
String host = InetAddress.getLocalHost().getHostAddress();
49
JNDIDetector jndiDetector = new JNDIDetector();
50
jndiDetector.setPort(JNDIServer.JNDI_PORT);
51
jndiDetector.setHost(host);
52
jndiDetector.setContextFactory("org.jnp.interfaces.NamingContextFactory");
53
jndiDetector.setURLPackage("org.jboss.naming:org.jnp.interfaces");
56
InternalTransporterServices transporterService = InternalTransporterServices.getInstance();
58
transporterService.setup(mbeanServer,
59
jndiDetector, new ObjectName("remoting:type=Detector,transport=jndi"),
60
registry, new ObjectName("remoting:type=NetworkRegistry"),
63
//TODO: -TME Have to start the detector after setup() call?
68
public static void main(String[] args)
70
RMIServer server = new RMIServer();
75
Thread.currentThread().sleep(60000);