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;
14
import java.util.HashMap;
18
* @author <a href="mailto:tom.elrod@jboss.com">Tom Elrod</a>
20
public class SocketServer
22
public static String locatorURI = "socket://localhost:5400";
23
private TransporterServer server = null;
25
public void start() throws Exception
27
initTransporterServices();
29
Map config = getConnectorConfig();
31
server = TransporterServer.createTransporterServer(getLocatorURI(), new CustomerProcessorImpl(),
32
CustomerProcessor.class.getName(), config, true);
35
private Map getConnectorConfig()
37
Map config = new HashMap();
38
// setting socket timeout to 5 seconds
39
config.put("timeout", "5000");
43
protected String getLocatorURI()
45
return SocketServer.locatorURI;
56
private void initTransporterServices() throws Exception
59
MBeanServer mbeanServer = MBeanServerFactory.createMBeanServer();
61
NetworkRegistry registry = NetworkRegistry.getInstance();
63
String host = InetAddress.getLocalHost().getHostAddress();
64
JNDIDetector jndiDetector = new JNDIDetector();
65
jndiDetector.setPort(JNDIServer.JNDI_PORT);
66
jndiDetector.setHost(host);
67
jndiDetector.setContextFactory("org.jnp.interfaces.NamingContextFactory");
68
jndiDetector.setURLPackage("org.jboss.naming:org.jnp.interfaces");
71
InternalTransporterServices transporterService = InternalTransporterServices.getInstance();
73
transporterService.setup(mbeanServer,
74
jndiDetector, new ObjectName("remoting:type=Detector,transport=jndi"),
75
registry, new ObjectName("remoting:type=NetworkRegistry"),
78
//TODO: -TME Have to start the detector after setup() call?
83
public static void main(String[] args)
85
SocketServer server = new SocketServer();
90
Thread.currentThread().sleep(60000);