【问题标题】:JBoss remote DeploymentsJBoss 远程部署
【发布时间】:2011-01-22 02:43:18
【问题描述】:

我知道 Websphere 和 Weblogic 等应用服务器具有远程部署功能,可以使用 Ant 任务或 Jython 编写脚本。 JBoss有什么等价的吗?基本上,如果我在某个已知位置有一台服务器并且我有适当的凭据,我该如何远程部署到 JBoss?

【问题讨论】:

    标签: deployment jboss


    【解决方案1】:

    部署到远程 JBoss AS 并不容易,因为 JBoss AS 在这方面没有提供太多帮助。但这里有一些想法/建议:

    • 使用JBoss JSR-88 implementation(在 Java EE 6 中被删减,因此在 Java EE 7 中将被删除,但这会给您一些时间)。
    • 按照@skaffman 的建议使用底层DeployManager,然后将您的可部署文件上传到远程服务器并使用file:// 协议,或者将其放在网络服务器上并使用http://
    • 使用Cargo(不过有a limitation,必须先将deployable上传到远程服务器)。
    • 使用jboss-maven-plugin,它使用JMX 部署接口,因此支持远程部署(见MJBOSS-3),正如我们在上面看到的。
    • 或者只是将您的可部署(FTP、SCP)上传到远程计算机,然后将它们远程移动到deploy 目录。

    【讨论】:

      【解决方案2】:

      好问题。你没有说你在谈论哪个版本的 JBoss(v4 和 v5 就像粉笔和奶酪一样不同),所以我假设 JBoss 4.x。可能和JBoss 5有些相似,但我只熟悉4。

      JBoss 的部署器是基于 URL 的,所有可部署组件的扫描都是通过 URL 完成的。部署程序本身由MainDeployer JMX bean 表示,并且位于 JMX 树上,可以通过 HTTP 或 RMI 远程调用它。部署器上的方法之一是deploy(URL)。我只在file:// URL 的上下文中使用过它,但理论上它也应该适用于 HTTP URL。所以你可以给它另一个服务器上的 EAR/WAR 文件的 URL,它应该可以工作,在本地复制 EAR/WAR 并解压缩它。

      我认为你不能做的是将某些东西直接“上传”到服务器并让它部署它。我从来没有在 JBoss 中看到过这样的功能(当然这并不是说它不存在,只是我没有见过这样的东西)。

      【讨论】:

        【解决方案3】:

        根据服务器设置(你说你有凭据),你总是可以将你的 EAR/WAR 文件 sftp 到 JBoss 的部署目录。请注意,这样做的一个潜在问题是 JBoss 实际上可能在文件完成上传之前就开始部署文件,这将导致 JBoss 抱怨 EAR/WAR 文件损坏。

        【讨论】:

        • 是的,这种情况经常发生。
        猜你喜欢
        • 1970-01-01
        • 2012-03-03
        • 2014-08-03
        • 2012-12-20
        • 2012-05-04
        • 2011-03-04
        • 2012-02-20
        • 2018-06-12
        • 1970-01-01
        相关资源
        最近更新 更多