Jboss 可以对ATG类进行热交换吗

Jboss 可以对ATG类进行热交换吗,jboss,weblogic,jvm-hotspot,atg,hotswap,Jboss,Weblogic,Jvm Hotspot,Atg,Hotswap,我们遵循的部署是使用runAssembler.bat构建ear文件并将其部署到应用服务器中。我们正在使用weblogic和jboss来测试我们构建的模块。然而,对于每一个小的更改,我们都需要运行runAssembler,构建一个新的ear,并在AppServer中部署它,然后重新启动服务器 我想知道是否有人想出了一种方法来进行类文件的热交换,这些类文件是由我们在weblogic或jboss的ATG环境中编写的代码生成的。您可以使用JRebel来实现这一点。热交换后,您无需重新启动服务器,只需从W

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


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

您可以使用JRebel来实现这一点。热交换后,您无需重新启动服务器,只需从Weblogic重新加载部署。

您可以使用JRebel来完成此操作。热交换后,无需重新启动服务器,只需从Weblogic重新加载部署。

通过将IDE连接到调试端口上的应用程序服务器,通常可以进行热交换。在Eclipse和JBoss上设置此功能是有文档记录的,并且。有一些关于在WebLogic中设置它的信息


附加调试器,编辑java文件,单击“保存”,在IDE中使用热代码替换,现在应该更新正在运行的类文件。在Eclipse中,如果无法进行同步,它通常会弹出一个窗口。如果您使用的是Eclipse,请确保勾选了projects下的“buildautomatically”标志,否则您将永远等待。通过JBOSS(爆炸式ATG EAR)实现这一点我没有遇到任何问题,在WebSphere7上实现这一点的成功率也不高。也可以谨慎地确保编译构建时使用的JAVAC与加载到IDE编译路径中的JAVAC相同

至少减少构建/部署时间的另一种方法是部署一个未打包/分解的EAR,并简单地跨多个(您可以使用Eclipse插件)复制类文件,然后重新启动服务器


还有一些商业选项可用,例如通过在调试端口上将IDE连接到应用程序服务器,通常可以进行热交换。在Eclipse和JBoss上设置此功能是有文档记录的,并且。有一些关于在WebLogic中设置它的信息


附加调试器,编辑java文件,单击“保存”,在IDE中使用热代码替换,现在应该更新正在运行的类文件。在Eclipse中,如果无法进行同步,它通常会弹出一个窗口。如果您使用的是Eclipse,请确保勾选了projects下的“buildautomatically”标志,否则您将永远等待。通过JBOSS(爆炸式ATG EAR)实现这一点我没有遇到任何问题,在WebSphere7上实现这一点的成功率也不高。也可以谨慎地确保编译构建时使用的JAVAC与加载到IDE编译路径中的JAVAC相同

至少减少构建/部署时间的另一种方法是部署一个未打包/分解的EAR,并简单地跨多个(您可以使用Eclipse插件)复制类文件,然后重新启动服务器


还有一些商业选项可用,例如在我们的组织中,我们在使用方面取得了良好的成功。它只是修补您的JDK(在Windows中:
jvm.dll

  • 下载并修补您的JDK
  • 使用补丁JDK启动您的JBoss/Weblogic
  • 设置Eclipse安装的JRE指向已修补的JDK(重新启动并重建一次)
  • 启动服务器,启动调试器和连接
  • 确保Eclipse的调试视图显示“动态代码演化VM”(而不是类似“热点VM”的内容)
  • 更改您的代码,瞧
    在我们的组织中,我们成功地使用了。它只是修补您的JDK(在Windows中:
    jvm.dll

  • 下载并修补您的JDK
  • 使用补丁JDK启动您的JBoss/Weblogic
  • 设置Eclipse安装的JRE指向已修补的JDK(重新启动并重建一次)
  • 启动服务器,启动调试器和连接
  • 确保Eclipse的调试视图显示“动态代码演化VM”(而不是类似“热点VM”的内容)
  • 更改您的代码,瞧
    我无法理解如何将远程调试概念扩展到热交换。我以前做过ATG模块的远程调试,但从未扩展到热交换。我不能使用JRebel,因为存在某些组织问题。连接调试器,编辑java文件,单击“保存”,然后在IDE中使用
    热代码替换
    更新正在运行的类文件。在Eclipse中,如果无法进行同步,它通常会弹出一个窗口。如果您使用的是Eclipse,请确保勾选了projects下的“buildautomatically”标志,否则您将永远等待。通过JBOSS(爆炸式ATG EAR)实现这一点我没有遇到任何问题,在WebSphere7上实现这一点的成功率也不高。也可以谨慎地确保编译构建时使用的
    JAVAC
    是加载到IDE编译路径中的版本。我觉得这个解释很好地补充了答案。因此,我补充说。要么批准我所做的编辑,要么你可以做必要的更改。无论如何,我接受你的回答,谢谢。我不明白如何将远程调试的概念扩展到热交换。我以前做过ATG模块的远程调试,但从未扩展到热交换。我不能使用JRebel,因为存在某些组织问题。连接调试器,编辑java文件,单击“保存”,然后在IDE中使用
    热代码替换
    更新正在运行的类文件。在Eclipse中,如果无法进行同步,它通常会弹出一个窗口。如果您使用的是Eclipse,请确保勾选了projects下的“buildautomatically”标志,否则您将永远等待。我通过JBOSS(爆炸式ATG EAR)实现这一点没有任何问题,在WebSphere上实现这一点的成功率也不高