我正在開發一個具有許多服務器的 Java RMI 應用程序。其中一個服務器是類 LDAP 服務器,它跟蹤其他服務器的 IP 地址(和其他一些信息):每次創建新服務器時,它都會立即連接到存儲其 IP 的類 LDAP 服務器,方法是調用函數connectToLDAP():ArrayList<ServerInfo> computingServers = new ArrayList<ServerInfo>();/** * Adds a server to the LDAP to store its IP address */@Overridepublic void connectToLDAP(int port, int q) throws RemoteException, Exception { computingServers.add(new ServerInfo(RemoteServer.getClientHost(), port, q));}這樣,服務器只需要連接到類似 LDAP 的服務器即可獲取所有服務器 IP 的列表。我的問題如下:當我運行新服務器 X 并連接到類似 LDAP 的服務器,然后我使用 Eclipse“終止”或Ctrl + C在終端上使用停止運行 X 的進程時,服務器 X 如何調用在退出之前執行下面的功能,以便類 LDAP 的服務器保持最新?/** * Removes a server from the LDAP */@Overridepublic void removeServer(int port, int q) throws RemoteException, Exception { computingServers.remove(new ServerInfo(RemoteServer.getClientHost(), port, q));}我知道這不是最好的選擇,但優化或遵循慣例不是我的重點。但是,如果有完全其他的方式來做我想做的事,我愿意接受建議。
添加回答
舉報
0/150
提交
取消