gpt4 book ai didi

jboss7.x - 重新启动 JBoss 服务器和重新部署它有什么区别

转载 作者:行者123 更新时间:2023-12-04 02:48:22 25 4
gpt4 key购买 nike

我注意到在运行 Jboss 时这两个选项都可用,并且它们都会重新编译项目(我注意到“make”与这两个选项一起运行)。我确实看到了this question ,接受的答案是有道理的,但我不确定热插拔是什么意思。无需重新启动服务器即可注册的更改的可能示例是什么?

最佳答案

您的问题需要更多细节才能完整回答,但这里有一些基本概念:

  • 热交换只是将项目文件替换到应用程序服务器的部署文件夹中(未打包,即不是 .war/.ear,而是所有单独的文件)。它通常更快,因为更改会立即在 Web 应用程序中可见。但应用服务器并不总是可能/支持它,而且如果您热交换 .jar 文件,应用服务器通常不会选择它或最终会混淆。
  • 重新启动 JBoss 将停止所有现有服务(EJB、池、队列、消息...)并重新启动它们。这几乎是运行应用程序的最干净的方式(最干净的方式是取消部署、重新启动和部署)
  • 重新部署意味着您的应用程序及其服务首先从 JBoss 中删除,但服务器级别的其他服务设置(消息、池、JMX...取决于您的实际设置)仍然部署。然后部署应用程序(从您的 dev 文件夹或 .WAR/.EAR 复制到 JBoss webapp)

通常,您会安全地热交换(最终手动).(x)html/.jsp/.jsf/images/.js/.css,因为 JBoss 不需要处理它们。更改在 WEB-INF/classes 中部署为 .class 的 java 类中的代码通常可以热交换。

更改部署为 .jar 的 java 文件中的代码几乎总是需要至少重新部署。一些正确配置的启用 OSGi 的应用程序服务器在热交换完整应用程序时更加灵活(我知道 Glassfish 可以,但我不知道需要什么具体设置)

最后,在开发中,有时多次重新部署会导致内存泄漏或应用程序服务器不稳定(通常您会在日志中收到 OutOfMemory 异常),然后您需要清理(取消部署、停止、启动然后部署)

关于jboss7.x - 重新启动 JBoss 服务器和重新部署它有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18347599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com