3

我想在应用程序服务器上的应用程序处于活动状态时更改类。我正在使用 JBoss 5 和 JBoss 7。

  • 我们可以在运行时更改类吗?
  • 否则,我会取消部署并重新部署吗?
  • 我需要在 JBoss 中配置什么?
  • 哪个应用程序服务器支持该功能?
  • 要获得此功能将需要编写自定义ClassLoader
4

1 回答 1

0
  • 我们可以在运行时更改类吗?实际上,您可以卸载旧类并加载新类。

  • 否则,我会取消部署并重新部署吗?您可以动态地执行此操作,而无需重新部署。但是,您可能知道 JBoss 和当今大多数应用程序服务器都支持热部署,这可能是您想要的:A_Quick_Tour-Hot-deployment_of_services_in_JBoss.html">https://access.redhat.com/knowledge/docs/en- US/JBoss_Enterprise_Web_Platform/5/html/Getting_Started_Guide/The_JBoss_Server_A_Quick_Tour-Hot-deployment_of_services_in_JBoss.html 但是请注意,部署方式与“更改课程”有很大不同。不仅如此,请阅读文档或写一个新问题,如果就是这样。

  • 我需要在 JBoss 中配置什么?没什么,你应该在你的代码中做到这一点。此外,您将需要创建一些代码来从您想要放置最新版本的任何位置加载最新的 jar 文件。如果热部署对您来说已经足够了,您可以检查上面链接中的配置。

  • 哪个应用程序服务器支持该功能?自定义类加载可以在任何应用程序服务器中完成,这是 Java 标准版的一个特性,您只依赖于您的编码能力。一些应用服务器,比如 JBoss,已经有一些内置的特性来帮助你完成这个任务。

  • 要获得这个功能是否需要编写自定义的ClassLoader?除非应用服务器在您更改时动态加载模块的功能足以满足您的需求,否则您将需要实现自定义类加载器。通过使用类加载器,您可以从任何软件中以您选择的方式加载类的较新版本。例如,您可以从您的数据库或网站加载您的类的较新版本。

于 2012-11-29T05:16:11.363 回答