1313
1414public class RMIMiddlewareResourceManager extends MiddlewareResourceManager {
1515 private static String s_serverName = "MiddlewareServer" ;
16-
16+ private static int s_serverPort = 2005 ;
1717 private static String s_rmiPrefix = "group25_" ;
18+ private static String s_customerServerHostname = "localhost" ;
19+ private static int s_customerServerPort = 2003 ;
20+ private static String s_flightServerHostname = "localhost" ;
21+ private static int s_flightServerPort = 2000 ;
22+ private static String s_roomServerHostname = "localhost" ;
23+ private static int s_roomServerPort = 2002 ;
24+ private static String s_carServerHostname = "localhost" ;
25+ private static int s_carServerPort = 2001 ;
1826
1927 public static void main (String args []) {
2028 if (args .length > 0 ) {
21- s_serverName = args [0 ];
29+ try {
30+ s_serverPort = Integer .parseInt (args [0 ]);
31+ } catch (Exception e ) {
32+ System .err .println ((char ) 27 + "[31;1mClient exception: " + (char ) 27 + "[0m1st arg must be integer for middlewareserver port (default 2005)" );
33+ e .printStackTrace ();
34+ System .exit (1 );
35+ }
36+ }
37+ if (args .length > 1 ) {
38+ s_customerServerHostname = args [1 ];
39+ }
40+ if (args .length > 2 ) {
41+ try {
42+ s_customerServerPort = Integer .parseInt (args [2 ]);
43+ } catch (Exception e ) {
44+ System .err .println ((char ) 27 + "[31;1mClient exception: " + (char ) 27 + "[0m3rd arg must be integer for customerserver port (default 2003)" );
45+ e .printStackTrace ();
46+ System .exit (1 );
47+ }
48+ }
49+ if (args .length > 3 ) {
50+ s_flightServerHostname = args [3 ];
51+ }
52+ if (args .length > 4 ) {
53+ try {
54+ s_flightServerPort = Integer .parseInt (args [4 ]);
55+ } catch (Exception e ) {
56+ System .err .println ((char ) 27 + "[31;1mClient exception: " + (char ) 27 + "[0m5th arg must be integer for flightserver port (default 2000)" );
57+ e .printStackTrace ();
58+ System .exit (1 );
59+ }
60+ }
61+ if (args .length > 5 ) {
62+ s_roomServerHostname = args [5 ];
63+ }
64+ if (args .length > 6 ) {
65+ try {
66+ s_roomServerPort = Integer .parseInt (args [6 ]);
67+ } catch (Exception e ) {
68+ System .err .println ((char ) 27 + "[31;1mClient exception: " + (char ) 27 + "[0m7th arg must be integer for roomserver port (default 2002)" );
69+ e .printStackTrace ();
70+ System .exit (1 );
71+ }
72+ }
73+ if (args .length > 7 ) {
74+ s_carServerHostname = args [7 ];
75+ }
76+ if (args .length > 8 ) {
77+ try {
78+ s_carServerPort = Integer .parseInt (args [8 ]);
79+ } catch (Exception e ) {
80+ System .err .println ((char ) 27 + "[31;1mClient exception: " + (char ) 27 + "[0m9th arg must be integer for carserver port (default 2001)" );
81+ e .printStackTrace ();
82+ System .exit (1 );
83+ }
2284 }
2385
2486 // Create the RMI server entry
@@ -32,9 +94,9 @@ public static void main(String args[]) {
3294 // Bind the remote object's stub in the registry
3395 Registry l_registry ;
3496 try {
35- l_registry = LocateRegistry .createRegistry (2005 );
97+ l_registry = LocateRegistry .createRegistry (s_serverPort );
3698 } catch (RemoteException e ) {
37- l_registry = LocateRegistry .getRegistry (2005 );
99+ l_registry = LocateRegistry .getRegistry (s_serverPort );
38100 }
39101 final Registry registry = l_registry ;
40102 registry .rebind (s_rmiPrefix + s_serverName , resourceManager );
@@ -52,15 +114,10 @@ public void run() {
52114 });
53115 System .out .println ("'" + s_serverName + "' resource manager server ready and bound to '" + s_rmiPrefix + s_serverName + "'" );
54116
55-
56- // get car, flight, resourceManagers
57- // @TODO add parameters
58- // server.connectAllServers("localhost", 2000, "FlightServer", "localhost", 2001, "CarServer", "localhost", 2002, "Server");
59- // server.connectCustomerServer("localhost", 2003, "CustomerServer");
60- server .flightRM = (IFlightResourceManager ) server .getRemoteResourceManager ("localhost" , 2000 , "FlightServer" );
61- server .carRM = (ICarResourceManager ) server .getRemoteResourceManager ("localhost" , 2001 , "CarServer" );
62- server .roomRM = (IRoomResourceManager ) server .getRemoteResourceManager ("localhost" , 2002 , "RoomServer" );
63- server .customerRM = (ICustomerResourceManager ) server .getRemoteResourceManager ("localhost" , 2003 , "CustomerServer" );
117+ server .flightRM = (IFlightResourceManager ) server .getRemoteResourceManager (s_flightServerHostname ,s_flightServerPort , "FlightServer" );
118+ server .carRM = (ICarResourceManager ) server .getRemoteResourceManager (s_carServerHostname ,s_carServerPort , "CarServer" );
119+ server .roomRM = (IRoomResourceManager ) server .getRemoteResourceManager (s_roomServerHostname ,s_roomServerPort , "RoomServer" );
120+ server .customerRM = (ICustomerResourceManager ) server .getRemoteResourceManager (s_customerServerHostname ,s_customerServerPort , "CustomerServer" );
64121 } catch (Exception e ) {
65122 System .err .println ((char ) 27 + "[31;1mServer exception: " + (char ) 27 + "[0mUncaught exception" );
66123 e .printStackTrace ();
0 commit comments