1

有没有人在生产中使用带有 DCEVM 和 HotSwap 代理的 JBoss AS 7.1?任何地方的教程?是否可以通过 HotSwap 代理添加新的包/类,或者只是替换现有的包/类?

对不起,这个问题太含糊了。我只是在研究提议的技术。

另一点:我是否必须始终部署为爆炸的 .war,并在其中替换/添加 .class 文件?或者我可以部署为压缩的 .war 并在其旁边复制其他压缩的 .jars?

我的架构是我有一个 servlet,然后需要从它访问其他组件。我想在运行时添加/替换这些组件。

4

1 回答 1

1

在这一刻是不可能的,有一个开放的问题Jboss support #27

JBoss 7 使用 OSGI类加载,因此代理核心类不能从应用程序类加载器中获得(这不是带有父委托的标准类加载器的情况)。

解决方案是添加 -Djboss.modules.system.pkgs=org.hotswap.agent到较旧的代理版本(类似于https://issues.jboss.org/browse/WFLY-895)。

然而,Hotswap 代理现在会在启动时为 JBoss 设置所有必要的属性。

和这个:

目前,JBoss 7 可以正确启动,但会忽略配置属性 (extraClasspath、watchResources、webappDir)。通过调试进行热插拔仍然可用,但您无法使用替代源代码库。

OSGI 类加载必须"hacked"允许所有属性。类似的实现见 Jetty/Tomcat 插件。

于 2014-11-06T20:51:49.210 回答