我计划将 EAR 打包应用程序部署到JBoss v4.2中,作为包含EAR内容的文件夹。到目前为止,EAR被部署为一个文件。我希望能够在不需要重新启动应用程序的情况下替换单个JARs。
是否有任何类型的事件、侦听器、或注释可用于在部署时注册这些JAR文件?这个想法是一个插件,类似于实现一个已知接口的一些特性的部署。插件应在Seam环境中使用,并可与更新版本进行动态交换。
有什么想法吗?谢谢。
发布于 2010-07-06 18:22:50
AFAIK,这是不可能的/支持的。当使用爆炸耳朵时,接触单个模块将触发整个耳朵的热部署。
轻量级Java应用程序开发:利用EJB3、JSF、POJO和Seam
3.4.2。热部署 另一个帮助敏捷开发的JBoss特性是爆炸性的存档。EAR、EJB3 JAR和WAR文件不一定是JBoss容器中的JAR文件。它们可以是包含JAR文件内容的目录。例如,您可以将dvdcatalog.ear文件部署为一个目录,而不是将其部署为单个文件。 使用已爆炸的目录,您可以在服务器运行时对应用程序中的任何一个JSP页面或Java类文件进行更改。然后,您可以触摸已爆炸目录中的META/application.xml文件(即将文件的时间戳更新为current)来重新部署整个EAR应用程序。这进一步节省了敏捷开发人员快速周转的大量时间。
你要找的东西听起来不简单。它需要检测更改,卸载来自该JAR的加载类定义(假设该信息是已知的),重新加载类(类似于此,但我非常肯定我是过于简化了)。也许更多的是OSGI服务器的工作。
另请参阅
https://stackoverflow.com/questions/3188643
复制相似问题