GlassFish v2中如何外置部署描述符sun-ejb-jar.xml?
GlassFish v2 外置sun-ejb-jar.xml配置的支持情况及实现方法
GlassFish v2完全支持将sun-ejb-jar.xml从app-ejb.jar和app.ear中分离出来,实现修改配置后无需重新构建部署、仅重启应用即可生效的需求,具体操作方式如下:
实现步骤
步骤1:迁移配置文件
将原app-ejb.jar内的sun-ejb-jar.xml取出,放到GlassFish服务器的自定义目录中,比如${glassfish-install-dir}/domains/[你的域名]/config/ejb-external-config/(可自行创建子目录)。步骤2:修改EAR的部署描述符
在app.ear的META-INF/application.xml里,为对应的EJB模块添加alt-dd元素,指定外置配置文件的路径:<module> <ejb>app-ejb.jar</ejb> <alt-dd>${com.sun.aas.instanceRoot}/config/ejb-external-config/sun-ejb-jar.xml</alt-dd> </module>其中
${com.sun.aas.instanceRoot}是GlassFish内置系统变量,指向当前域名的根目录,也可直接使用绝对路径。步骤3:部署与验证
仅重新打包修改了application.xml的app.ear(无需改动app-ejb.jar)并部署到GlassFish v2。后续修改外置的sun-ejb-jar.xml后,只需重启应用即可生效,无需重新构建或重新部署整个EAR包。
注意事项
- 确保GlassFish服务器进程对外置配置文件的路径有可读权限。
- 域名模式部署时,避免使用相对路径,防止配置文件找不到。
- 应用重启时,GlassFish会自动加载外置配置,替代原JAR包内的描述符。
内容的提问来源于stack exchange,提问作者Haxed
相关产品推荐
相关产品推荐

