在 JBoss AS 7 中,有没有办法交互式地部署应用程序?换句话说,不是在部署之前手动创建 JBoss 部署描述符(例如 jboss-web.xml),JBoss 是否有办法提示部署者提供成功部署所需的信息和/或是否有 API可以以编程方式或通过脚本调用来执行此操作?例如,如果一个应用程序定义了一个在代码中注释的资源引用或环境条目(@Resource
),部署者如何知道这个资源引用必须在部署时绑定?
在某些背景下,我一直使用 IBM WebSphere Application Server 作为我的主要 Java EE 应用程序服务器,它在管理控制台中提供 Java API、wsadmin 命令和一个 GUI 向导,该向导会提示部署者提供部署信息所需的部署信息应用程序并在部署期间生成自己的自定义描述符文件。我希望其他应用服务器,特别是 JBoss 7,也能提供类似的功能。
其中一个目标是能够自动部署各种可移植 Java EE 应用程序(即不具有包含部署信息的特定于 JBoss 的描述符的应用程序),并防止部署人员不仅对手动执行部署非常熟悉使用应用程序和模块部署描述符,但更重要的是,代码中包含的所有注释都必须在部署时进行管理(例如@Resource
注释)。
特别是,我正在寻找在Java EE 规范中满足这一要求:
EE.2.12.4 部署描述符和注释
Java EE Product Provider 需要提供一个部署工具,该工具解释 Java EE 部署描述符和类文件注释,并允许 Deployer 将应用程序组件的需求映射到特定 Java EE 产品和环境的功能。
虽然规范对于这意味着什么以及它是如何实现的有些模棱两可,但在我看来,WebSphere Application Server 很好地满足了这个要求,而许多其他应用程序服务器(似乎是 JBoss)需要手动创建自定义描述符部署前功亏一篑。