У меня следующий код RMI-сервера:
public class ServerProgram {
public ServerProgram() {
try {
LocateRegistry.createRegistry(1097);
Calculator c = new CalculatorImpl();
String name = "rmi://host:port/name";
Naming.rebind(name, c);
System.out.println("Service is bound......");
} catch (Exception e) {
}
}
public static void main(String[] args) {
new ServerProgram();
}
}
Когда вышеприведенная программа работает, она продолжает работать, ожидая клиентских запросов. Но я не понимаю, что заставляет эту программу работать, пока она не находится в состоянии, подобном while(true){};
, и как остановить ее прослушивание, кроме остановки всей программы?