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)
指定的目录必须已经存在,此命令将失败并显示错误。
已定义一个新的部署扫描器,并将监控指定的目录以监控部署。