我正在開發java(SE)+一些開源庫中的服務器應用程序。這是一款遊戲,所以我認爲它有時需要更新。只要應用程序正在跟蹤客戶端的狀態,使用它,並且還支持客戶端會話(以專用線程的形式)以及存儲對這些播放器實例的引用的單例,我想重新加載JVM進程(例如,安裝一個新版本的jar文件),以便某些類和實例不會被GC刪除,但會啓動進入新流程。重新加載JVM進程保留Session
可能的情況:
我有一個遊戲版本1.0的服務器上運行。我需要在1.2中添加一些新功能。但是有100名選手正在互相爭鬥。我需要安裝1.2版本,玩家可能會感覺有些滯後,但即使jar版本發生了變化,他們也應該能夠繼續戰鬥。
如何做到這一點?