jetty热部署

半兽人 发表于: 2016-03-25   最后更新时间: 2016-03-25  
  •   0 订阅,813 游览

热部署


jetty让你通过监测目录变化将任意上下文或 web 应用程序的部署。如果你向目录中添加一个web 应用程序或上下文描述符,jetty的DeploymentManager(DM) 部署新的上下文。如果你touch或更新上下文描述符,DM 停止、 重新配置和重新部署它的上下文。如果您删除一个上下文,DM停止它,并从服务器上删除。


为了控制这种行为,你可以配置WebAppProvider属性:

monitoredDirName
        该目录扫描可能部署的web应用(或部署描述符的XML文件)

scanInterval
        提供 monitoredDirName 扫描之间的秒数。
        值为 0 将禁用连续热部署扫描,只在启动时部署Web应用程序。

这个配置的默认位置在${jetty.home}/etc/jetty-deploy.xml。

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
 
  <Call name="addBean">
    <Arg>
      <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
        <Set name="contexts">
          <Ref refid="Contexts" />
        </Set>
        <Call name="setContextAttribute">
          <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
          <Arg>.*/servlet-api-[^/]*\.jar$</Arg>
        </Call>
 
        <Call id="webappprovider" name="addAppProvider">
          <Arg>
            <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
              <Set name="monitoredDirName"><Property name="jetty.home" default="." />/webapps</Set>
              <Set name="defaultsDescriptor"><Property name="jetty.home" default="." />/etc/webdefault.xml</Set>
              <Set name="scanInterval">1</Set>
              <Set name="extractWars">true</Set>
            </New>
          </Arg>
        </Call>
      </New>
    </Arg>
  </Call>
</Configure>
这个配置的默认位置在${jetty.home}/etc/jetty-deploy.xml。








发表于: 10月前   最后更新时间: 10月前   游览量:813
上一条: WebAppContexts的部署处理 - jetty
下一条: 已经是最后了!
评论…

  • 评论…
    • in this conversation
      提问