Java RMI アプリケーションがあります。問題は、RMI メソッドを呼び出してからコードを終了するときです。応募は終了しません。
コマンド ラインでは、「Bye」メッセージが表示されますが、プロンプト ラインは表示されません。
public static void main(String args[]) throws Exception {
...
System.setSecurityManager(new RMISecurityManager());
s = (Registry) Naming.lookup("rmi://localhost/Registry");
ChatClientImpl c = new ChatClientImpl(name);
c.act(s);
System.out.println("Bye"); <-- "Bye" message is shown
}
アプリケーションを停止するには ^C を実行する必要があります。
act() メソッドは、use の入力を解析して他のメソッドを呼び出します。ただし、他のメソッドを呼び出さずに終了しても、Java は終了しません。
何が間違っている可能性がありますか? RMI アプリケーションを終了するには、追加のメソッドを呼び出す必要がありますか?