首页 文章

是否有一些简单的方法可以在JAR内部部署JAR时执行代码?

提问于
浏览
3

我打算将 EAR 打包的应用程序部署到 JBoss v4.2 作为包含EAR内容的文件夹 . 到目前为止,EAR被部署为单个文件 . 我希望能够替换单个 JARs ,而无需重新启动应用程序 .

是否有任何类型的事件 listenerannotation 可用于在部署时注册这些JAR文件?这个想法就像部署一些实现已知接口的功能一样 . 插件应在Seam webapp环境中使用,并且可以随时更新更新版本 .

有任何想法吗?谢谢 .

1 回答

  • 3

    AFAIK,这是不可能/不支持的 . 使用爆炸的EAR时,触摸单个模块将触发整个EAR的热部署 .

    从轻量级Java Web应用程序开发:利用EJB3,JSF,POJO和Seam:

    3.4.2 . 热部署另一个帮助敏捷开发的JBoss功能是爆炸式存档 . EAR,EJB3 JAR和WAR文件不一定是JBoss容器中的JAR文件 . 它们可以是包含JAR文件内容的目录 . 例如,您可以将其部署为目录,而不是将dvdcatalog.ear文件部署为单个文件 . 使用展开的目录,您可以在服务器运行时对应用程序中的任何单个JSP页面或Java类文件进行更改 . 然后,您可以触摸展开目录中的META-INF / application.xml文件(即,将文件的时间戳更新为当前)以重新部署整个EAR应用程序 . 这进一步节省了快速周转敏捷开发人员的大量时间 .

    你要找的东西听起来并不简单 . 它需要检测更改,卸载来自该JAR的加载类定义(假设此信息已知),重新加载类(类似的东西,但我很确定我过于简单化) . 也许更多的OSGI服务器的工作 .

    另见

相关问题