Great, this works:
...
puts "Press CTRL-C to stop Jetty"
trap "SIGINT" do
jetty.stop
end
Thread.stop
...Thanx && cheers, Martin On Sat, 2009-02-14 at 16:55 -0800, Alex Boisvert wrote: > Maybe Thread.stop instead of Readline::readline ? > > alex > > On Sat, Feb 14, 2009 at 4:32 PM, Martin Grotzke < > [email protected]> wrote: > > > Hi Alex, > > > > thanx a lot! > > > > I added a page for HowTos to the wiki ([1]) with a single HowTo for this > > use case ([2]). > > > > Btw: I have the habit to use ENTER in stdout between requests to be able > > to see where the logs for the new request start and where they end. > > Therefore I'd prefer to use CTRL-C to stop the task. I already searched > > for this and found s.th. like trap('SIGINT') { jetty:stop } and tried > > this together with a loop of Readlines to prevent the build task from > > finishing, but this eats my shell - its somehow broken then (e.g. no > > output shown when typing). > > What would be the preferred way to stop the task using CTRL-C? > > > > Thanx && cheers, > > Martin > > > > > > [1] http://cwiki.apache.org/confluence/display/BUILDR/Buildr+HowTos > > [2] http://cwiki.apache.org/confluence/display/BUILDR/How+to+run+jetty > > > > > > > > On Fri, 2009-02-13 at 18:00 -0800, Alex Boisvert wrote: > > > Hi Martin, > > > > > > The jetty task in Ode is used for live integration tests... so the build > > > starts jetty, runs many tests and shuts it down. > > > > > > If you just want to run your webapp interactively, you can try the > > > following: > > > > > > require 'readline' > > > > > > .... > > > > > > task("jetty"=>[package(:war), jetty.use]) do |task| > > > jetty.deploy("http://localhost:8080", task.prerequisites.first) > > > Readline::readline('[Type ENTER to stop Jetty]') > > > end > > > > > > alex > > > > > > > > > On Fri, Feb 13, 2009 at 4:37 PM, Martin Grotzke < > > > [email protected]> wrote: > > > > > > > Hi, > > > > > > > > I have a simple webapp and want to run this with jetty. > > > > > > > > Just running "buildr jetty:start" (with require 'buildr/jetty' in my > > > > buildfile) starts jetty, but then jetty doesn't serve my webapp. > > > > > > > > From the ode buildfile I found the following: > > > > > > > > task("start"=>[package(:war), jetty.use]) do |task| > > > > class << task ; attr_accessor :url, :path ; end > > > > task.url = "http://localhost:8080/mywebapp" > > > > task.path = jetty.deploy(task.url, task.prerequisites.first) > > > > jetty.teardown task("stop") > > > > end > > > > > > > > task("stop") do |task| > > > > if url = task("start").url rescue nil > > > > jetty.undeploy url > > > > end > > > > end > > > > > > > > It seems that I can invoke this with "buildr mywebapp:start" > > ("mywebapp" > > > > beeing the name I defined for my project). I see jetty starting my > > > > webapp, but unfortunately it stops directly afterwards. This is the end > > > > of the output: > > > > > > > > ==================== > > > > [Completed] Your build has completed: /home/grotzke/proj/mywebapp > > > > buildr mywebapp:start > > > > Completed in 2.625s > > > > Undeploying app at /mywebapp > > > > Jetty server stopped > > > > ==================== > > > > > > > > So what is the correct way to run jetty with the deployed webapp? > > > > > > > > Thanx in advance, > > > > cheers, > > > > Martin > > > > > > > > > > > > > >
signature.asc
Description: This is a digitally signed message part
