对Jetty进行热部署的最佳解决方案是什么?

时间:2009-02-18 12:22:59

标签: java deployment jetty

我有一个在jetty上运行的Web应用程序。继续构建基于哈德森。我想根据哈德森的要求进行热门部署。

我发现货物插件应该可以这样做但是货物的网站没有显示任何完整的例子如何做 - 对于远程码头服务器 - 我可能会错过它吗?

你有什么建议?你还有其他更好的解决方案吗?

谢谢,

维特克

3 个答案:

答案 0 :(得分:3)

Cargo的documentation表明可以通过maven 2部署到码头。

这是configuration

我猜你试过这个吗? 出了什么问题?

答案 1 :(得分:0)

Jetty:可以像独立一样运行:只需远程复制你构建的战争。 独立Jetty实例可以独立运行端口。

Yml:例如

<Set name="ThreadPool">
  -->
  <New class="org.mortbay.thread.QueuedThreadPool">
    <Set name="minThreads">10</Set>
    <Set name="maxThreads">50</Set>
    <Set name="lowThreads">5</Set>
    <Set name="SpawnOrShrinkAt">2</Set>
  </New>

</Set>




<Call name="addConnector">
  <Arg>
      <New class="org.mortbay.jetty.nio.SelectChannelConnector">
        <Set name="host"><SystemProperty name="jetty.host" default="0.0.0.0" /></Set>
        <Set name="port"><SystemProperty name="jetty.port" default="8880"/></Set>
        <Set name="maxIdleTime">300000</Set>
        <Set name="Acceptors">2</Set>
        <Set name="statsOn">false</Set>
        <Set name="confidentialPort">8441</Set>
        <Set name="lowResourcesConnections">20000</Set>
        <Set name="lowResourcesMaxIdleTime">5000</Set>
      </New>
  </Arg>
</Call>

<Set name="handler">
  <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
    <Set name="handlers">
     <Array type="org.mortbay.jetty.Handler">
       <Item>
         <New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/>
       </Item>
       <Item>
         <New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/>
       </Item>
       <Item>
         <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>
       </Item>
     </Array>
    </Set>
  </New>
</Set>

<Call name="addLifeCycle">
  <Arg>
    <New class="org.mortbay.jetty.deployer.ContextDeployer">
      <Set name="contexts"><Ref id="Contexts"/></Set>
      <Set name="configurationDir"><SystemProperty name="jetty.home" default="."/>/contexts/</Set>
      <Set name="scanInterval">1</Set>
    </New>
  </Arg>
</Call>

<Set name="UserRealms">
  <Array type="org.mortbay.jetty.security.UserRealm">
    <Item>
      <New class="org.mortbay.jetty.security.HashUserRealm">
        <Set name="name">Test Realm</Set>
        <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
        <Set name="refreshInterval">0</Set>
      </New>
    </Item>
  </Array>
</Set>

<Ref id="RequestLog">
  <Set name="requestLog">
    <New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog">
      <Set name="filename"><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Set>
      <Set name="filenameDateFormat">yyyy_MM_dd</Set>
      <Set name="retainDays">90</Set>
      <Set name="append">true</Set>
      <Set name="extended">true</Set>
      <Set name="logCookies">false</Set>
      <Set name="LogTimeZone">GMT</Set>
    </New>
  </Set>
</Ref>

<Set name="stopAtShutdown">true</Set>
<Set name="sendServerVersion">true</Set>
<Set name="sendDateHeader">true</Set>
<Set name="gracefulShutdown">1000</Set>

答案 2 :(得分:0)

对于使用Windows的用户,如果遇到文件锁定错误,请访问:

http://docs.codehaus.org/display/JETTY/Files+locked+on+Windows

Windows将Jetty加载到内存中的文件锁定。以上链接将向您展示如何防止这种情况。