2009-02-18 5 views
7

Ich habe eine Webanwendung, die auf Anlegesteg läuft. Fortlaufende Builds bauen auf Hudson auf. Ich würde gerne einen Hot-Deploy auf Anfrage von Hudson machen.Was ist eine beste Lösung für die Hot-Deployment nach Jetty?

Ich fand Cargo-Plugin, das sollte in der Lage sein, aber Cargo-Web zeigt kein vollständiges Beispiel, wie es geht - für Remote-Jetty-Server - kann ich es vermissen?

Was schlagen Sie vor? Hast du eine andere bessere Lösung?

danke,

Vitek

+0

Welche Version von Jetty verwenden Sie? Cargo hat Remote-Deployer-Unterstützung nur für Jetty 6.x + (und nur für das Maven 2-Plugin). –

+0

scheint ein Duplikat von http://stackoverflow.com/questions/2369851/hot-deploy-in-embedded-jetty – ArunaFromLK

Antwort

3

Cargo documentation zeigt, dass es möglich ist, Anlegestelle über Maven 2.

Und hier ist die configuration einzusetzen.

Ich nehme an, Sie haben das versucht? Was war das Problem?

0

Anlegesteg: kann als Standalone ausgeführt werden: einfach remote kopieren Sie den Krieg, den Sie bauen. Eigenständige Jetty-Instanzen können unabhängig voneinander betrieben werden.

yml: zB

<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> 

Verwandte Themen