Jan,
I believe the rsync is finished. I use a shell script and and the two commands
are sequential. Here is the script, and some log messages.
#!/bin/bash
rsync -v myapp.war myserver:/opt/webapps
rsync -v deployment/myapp.xml myserver:/opt/jetty/webapps/
If I run that, the logs show a stop and start.
2014-03-14 12:37:01.706:INFO:oejsh.ContextHandler:Scanner-0: Stopped
o.e.j.w.WebAppContext@358ee631{/myapp,file:/tmp/jetty-0.0.0.0-8080-myapp.war-_myapp-any-/webapp/,UNAVAILABLE}{/myapp.war}
2014-03-14 12:37:03.644:INFO:oejsh.ContextHandler:Scanner-0: Started
o.e.j.w.WebAppContext@760aa0cd{/myapp,file:/tmp/jetty-0.0.0.0-8080-myapp.war-_myapp-any-/webapp/,AVAILABLE}{/myapp.war}
I ran the script again, but this time kept reloading a page in the browser, to
trigger an error. Between the stop and the start messages, I see a bunch of
errors like this:
2014-03-14 12:37:33.079:WARN:oejs.HttpChannel:qtp121295574-906:
/myapp/static/common/angular/angular-sanitize.min.js
java.lang.NullPointerException
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:192)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:317)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:445)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:268)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)
at java.lang.Thread.run(Thread.java:744)
Rob
On Mar 13, 2014, at 10:27 PM, Jan Bartel <[email protected]> wrote:
> Robert,
>
> Are you sure that the rsync has finished by the time you touch the xml file?
>
> Upgrading is generally a good idea :), but I can't think of anything
> specifically that would affect the hot redeployment (other than the
> war file not being fully copied).
>
> Might be able to comment more if you could post an example of the log
> messages.
>
> cheers
> Jan
>
> On 14 March 2014 02:33, Robert Nikander <[email protected]> wrote:
>> Hi,
>>
>> (I posted on stackoverflow first [1] but no answers, so I'll try here.)
>>
>> I have the usual web app deployer as described in the docs [2] and defined
>> in etc/jetty-deploy.xml. I use an xml file to define my web app context, so
>> when I push new code to my production server, I upload a new myapp.war file
>> using `rsync` and then touch that myapp.xml file. This works pretty well,
>> but there are few seconds where the app throws a NullPointerException or
>> other weirdness, and some users appear to be getting corrupt statically
>> served files (.js files from the war), so that they have to flush their
>> browser's cache for the app to work again.
>>
>> Is this supposed to work perfectly, or do you expect a brief dead period
>> like this? Is there a recommended way to deploy new code without the
>> 2-second snafu?
>>
>> Jetty is behind nginx with simple proxy configuration, if that matters. I'm
>> running 9.0.5, but could upgrade.
>>
>> thanks,
>> Rob
>>
>>
>> [1]
>> http://stackoverflow.com/questions/22357690/can-jetty-hot-redeployment-work-without-service-interruption
>> [2] http://www.eclipse.org/jetty/documentation/current/hot-deployment.html
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
>
>
> --
> Jan Bartel <[email protected]>
> www.webtide.com
> 'Expert Jetty/CometD developer,production,operations advice'
> _______________________________________________
> jetty-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/jetty-users
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users