Files
uni/year4/semester2/CT414/materials/code/01-rmisample/CityServerImpl.java
2025-01-21 10:13:14 +00:00

55 lines
1.7 KiB
Java

import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
public class CityServerImpl implements CityServer
{
// constructor is required in RMI
CityServerImpl() throws RemoteException
{
super(); // call the parent constructor
}
// Remote method we are implementing!
public String getCapital(String country) throws RemoteException
{
System.out.println("Sending return string now - country requested: " + country);
if (country.toLowerCase().compareTo("usa") == 0)
return "Washington";
else if (country.toLowerCase().compareTo("ireland") == 0)
return "Dublin";
else if (country.toLowerCase().compareTo("france") == 0)
return "Paris";
return "Don't know that one!";
}
// main is required because the server is standalone
public static void main(String args[])
{
try
{
// First reset our Security manager - deprecated so no longer used
//if (System.getSecurityManager() == null) {
// System.setSecurityManager(new SecurityManager());
// System.out.println("Security manager set");
// }
// Create an instance of the local object
CityServer cityServer = new CityServerImpl();
System.out.println("Instance of City Server created");
CityServer stub = (CityServer) UnicastRemoteObject.exportObject(cityServer, 0);
// Put the server object into the Registry
// Naming.rebind("Capitals", stub);
Registry registry = LocateRegistry.getRegistry();
registry.rebind("Capitals", stub);
System.out.println("Name rebind completed");
System.out.println("Server ready for requests!");
}
catch(Exception exc)
{
System.out.println("Error in main - " + exc.toString());
}
}
}