7.3. 使用部署扫描器部署应用

部署扫描器监控要部署的应用的部署目录。默认情况下,部署扫描器将每五秒扫描 EAP_HOME/standalone/deployments/ 目录以进行更改。标记文件用于指示部署的状态,以及触发针对部署的操作,如取消部署或重新部署。

虽然建议使用管理控制台或管理 CLI 来在生产环境中应用部署,但为开发人员提供了使用部署扫描程序进行部署。这允许用户以适合快速开发周期的方式构建和测试应用程序。此外,部署扫描程序不应与其他部署方法一起使用。

部署扫描程序仅可在将 JBoss EAP 作为单机服务器运行时使用。

7.3.1. 使用 Deployment Scanner 将应用程序部署到单机服务器

部署扫描器可以配置为允许或禁止自动部署 XML、压缩和展开的内容。如果禁用自动部署,您必须手动创建标志文件来触发部署操作。如需有关可用标志文件类型及其用途的更多信息,请参阅 Deployment Scanner Marker Files 部分。

默认情况下,启用 XML 和压缩的内容的自动部署。有关为每种内容类型配置自动部署的详情,请参阅 配置 Deployment Scanner

警告

为方便开发人员,我们不建议在生产环境中使用部署扫描器进行部署。它也不应与其他部署方法一起使用。

部署应用程序

将内容复制到部署文件夹。

$ cp /path/to/test-application.war EAP_HOME/standalone/deployments/

如果启用自动部署,将自动提取此文件,并创建 a .deployed 标记文件。如果未启用自动部署,您将需要手动添加 a .dodeploy 标记文件来触发部署。

$ touch EAP_HOME/standalone/deployments/test-application.war.dodeploy
取消部署应用

通过删除 .deployed 标记文件来触发未部署。

$ rm EAP_HOME/standalone/deployments/test-application.war.deployed

如果启用了自动部署,您也可以删除 test-application.war 文件,该文件将触发取消部署。请注意,这不适用于展开式部署。

重新部署应用

创建 a .dodeploy 标记文件以启动重新部署。

$ touch EAP_HOME/standalone/deployments/test-application.war.dodeploy

7.3.2. 配置部署扫描器

部署扫描程序可以使用管理控制台或管理 CLI 进行配置。您可以配置部署扫描器的行为,如扫描间隔、部署文件夹位置和自动部署特定应用文件类型。您还可以完全禁用部署扫描程序。

有关所有可用部署扫描器属性的详情,请参阅 Deployment Scanner Attributes 部分。

使用以下管理 CLI 命令配置默认部署扫描程序:

禁用 Deployment Scanner
/subsystem=deployment-scanner/scanner=default:write-attribute(name=scan-enabled,value=false)

这将禁用 默认的 部署扫描程序。

更改扫描间隔
/subsystem=deployment-scanner/scanner=default:write-attribute(name=scan-interval,value=10000)

这会将扫描间隔时间从 5000 毫秒(五秒)更新为 10000 毫秒(十秒)。

更改 Deployment Folder
/subsystem=deployment-scanner/scanner=default:write-attribute(name=path,value=/path/to/deployments)

这会将部署文件夹的位置从 EAP_HOME/standalone/deployments 的默认位置更改为 /path/to/deployments

除非指定了 relative-to 属性,否则路径 将被视为绝对路径,在这种情况下,它将相对于该路径。

启用自动部署展开的内容
/subsystem=deployment-scanner/scanner=default:write-attribute(name=auto-deploy-exploded,value=true)

这可实现自动部署展开式内容,这在默认情况下是禁用的。

禁用 Zipped 内容的自动部署
/subsystem=deployment-scanner/scanner=default:write-attribute(name=auto-deploy-zipped,value=false)

这会禁用默认启用的 zipped 内容的自动部署。

禁用 XML 内容的自动部署
/subsystem=deployment-scanner/scanner=default:write-attribute(name=auto-deploy-xml,value=false)

这禁用了 XML 内容的自动部署,默认为启用。

7.3.3. 定义自定义 Deployment Scanner

可以使用管理 CLI 或从管理控制台的 Configuration 选项卡导航到 Deployment Scanners 子系统来 添加新的部署扫描程序。这将定义用于扫描部署的新目录。默认部署扫描器监控 EAP_HOME/standalone/deployments。有关 配置现有部署扫描程序的详情,请参阅配置 Deployment Scanner

以下管理 CLI 命令添加新的部署扫描器,它将每隔五秒检查 EAP_HOME/standalone/new_deployment_dir 以进行部署:

/subsystem=deployment-scanner/scanner=new-scanner:add(path=new_deployment_dir,relative-to=jboss.server.base.dir,scan-interval=5000)
注意

指定的目录必须已经存在,此命令将失败并显示错误。

已定义一个新的部署扫描器,并将监控指定的目录以监控部署。