内部热部署如何工作?
我正在使用 eclipse 服务器功能进行热代码部署。使用tomcat作为Web服务器。但我不确定它是如何工作的。我有自己的理解,它必须如何在内部工作。
我的理解 :-当开发人员对代码进行更改(例如类 Employee)时,Eclipse 会将修改后的编译类放在 Web 服务器下的正确位置(必须是特定的 web/app 服务器。让我们称之为热部署目录(HDD))。现在,Web服务器特定的类装入器将进入画面。它在 HDD 下找到新条目。现在,它发现类已经由类加载器在perm gen空间中加载,Web服务器将从permgen空间中卸载它,并在内部加载新的类,而无需重新启动服务器,以便反映新的更改(字节码)。作为重新加载的一部分,Web服务器还将现有的Epmloyee对象与perm gen空间中的新类定义链接,以便反映新的更改。
我的理解是否正确?
像这样的一些链接说Eclipse热部署只是重新部署的自动化。我相信这意味着eclipse会自动停止服务器 ,重新发布并重新启动它,而无需开发人员干预。但是我认为它不是真的,因为与启动/发布/重新启动相比,此过程确实很快。另外,如果这是真的,那么会话和其他活动对象在重新启动后将如何保持活动状态?也许这个链接在过去是正确的,但现在不是,因为我发现热部署也适用于jar中的类