是否可以对ATG类进行Hotswapping

时间:2013-12-31 18:07:41

标签: jboss weblogic jvm-hotspot atg hotswap

我们遵循的部署是使用runAssembler.bat构建ear文件并将其部署在app服务器中。我们使用weblogic和jboss来测试我们构建的模块。但是,对于每个小的更改,我们都需要运行runAssembler并构建一个新的ear并将其部署在app server中并重新启动服务器。

我想知道是否有人想出了一种方法来对类文件进行Hotswapping,这些类文件是由我们在weblogic或jboss中在ATG环境中编写的代码生成的。

3 个答案:

答案 0 :(得分:2)

通过将IDE连接到Debug端口上的Application服务器,通常可以进行hotswapping。在Eclipse和JBoss上进行设置记录在hereherehere。有一些信息可以在WebLogic here中进行设置。

附加调试器,编辑java文件,单击“保存”并在IDE中更换热代码,它现在应该更新正在运行的类文件。在Eclipse中,如果无法进行同步,它通常会弹出一个弹出窗口。如果您正在使用Eclipse,请确保勾选项目下的“自动构建”标记,否则您将永远等待。我没有遇到任何问题,通过JBOSS(爆炸的ATG EAR)和在WebSphere 7上这样做的可变成功。也可以谨慎地确保用于编译构建的相同JAVAC是加载到IDE中的那个编译路径。

至少减少构建/部署时间的另一种方法是部署解压缩/爆炸的EAR并简单地复制您的类文件(您可以使用Eclipse FileSync插件)并重新启动服务器。

还有一些商业选项,例如JRebel

答案 1 :(得分:1)

在我们的组织中,我们在使用DCEVM方面取得了很大成功。它只是修补你的JDK(在Windows中:jvm.dll)。

  1. 下载并修补您的JDK
  2. 使用修补的JDK启动 JBoss / Weblogic
  3. 设置 Eclipse已安装的JRE以指向已修补的JDK(重启并重建一次)
  4. 启动服务器,启动调试程序和连接
  5. 确保 Eclipse的Debug视图显示" Dynamic Code Evolution VM" (而不是像#34; HotSpot VM")
  6. 更改您的代码,瞧!

答案 2 :(得分:0)

您可以使用JRebel执行此操作。在hotswapping之后,您不需要重新启动服务器,只需从Weblogic重新加载部署。

相关问题