On Wed, Jul 22, 2009 at 6:48 AM, Martin Grotzke <
martin.grot...@javakaffee.de> wrote:

> Hi Assaf,
>
> thanx a lot, now I got it - it's so easy :-)
>
> I also updated the wiki:
> http://cwiki.apache.org/confluence/display/BUILDR/How+to+run+jetty


Nice.

Assaf


> <http://cwiki.apache.org/confluence/display/BUILDR/How+to+run+jetty>
>
> Thanx && cheers,
> Martin
>
>
>
> On Wed, 2009-07-22 at 02:05 -0700, Assaf Arkin wrote:
> > On Tue, Jul 21, 2009 at 1:46 PM, Martin Grotzke <
> > martin.grot...@javakaffee.de> wrote:
> >
> > > On Tue, 2009-07-21 at 11:02 -0700, Assaf Arkin wrote:
> > > > On Tue, Jul 21, 2009 at 2:50 AM, Martin Grotzke <
> > > > martin.grot...@javakaffee.de> wrote:
> > > >
> > > > > Hi Assaf,
> > > > >
> > > > > thanx for your response! Unfortunately, I don't see how/where to
> use
> > > the
> > > > > Jetty.new exactly.
> > > > >
> > > > > When I just Jetty.new("foo", "http://localhost:8090";) then buildr
> > > > > complains about
> > > > >  uninitialized constant Jetty
> > > >
> > > >
> > > > Try Buildr::Jetty.new( …
> > > Sorry, but I just don't get it. Where shall this go to? I still want to
> > > be able to run jetty in two subprojects. What I'm using in one
> > > subproject until now is this:
> > >
> > >    task("jetty"=>[package(:war), jetty.use]) do |task|
> > >      jetty.deploy("http://localhost:8080";, task.prerequisites.first)
> > >      puts 'Press CTRL-C to stop Jetty'
> > >      trap 'SIGINT' do
> > >        jetty.stop
> > >      end
> > >      Thread.stop
> > >    end
> > >
> > > What is required so that I can use different instances of jetty in
> > > different subprojects?
> > >
> >
> > When you call the jetty method, you get a single instance of the Jetty
> class
> > [1].  That's clearly not what you want, so don't call the jetty method --
> > create the instance directly and use that instance instead of the one
> > returned by the jetty method.  It's just an object and all you need is a
> > variable to reference it.
> >
> >
> > Assaf
> >
> > [1]
> >
> http://github.com/apache/buildr/blob/a25989f6aaa79a25e9727237977cde248918286e/addon/buildr/jetty.rb#L244-246
> >
> >
> > >
> > >
> > > Thanx && cheers,
> > > Martin
> > >
> > >
> > >
> > > >
> > > > To limit namespace pollution, everything is defined in the Buildr
> > > namespace.
> > > >  A lot of stuff is also conveniently accessible from the global
> > > namespace,
> > > > so global namespace is good place to look for thing, if not there,
> try
> > > the
> > > > Buildr namespace.
> > > >
> > > > Assaf
> > > >
> > > >
> > > > >
> > > > >
> > > > > Can you provide a more complete example?
> > > > >
> > > > > Thanx && cheers,
> > > > > Martin
> > > > >
> > > > >
> > > > > On Mon, 2009-07-20 at 20:04 -0700, Assaf Arkin wrote:
> > > > > > On Mon, Jul 20, 2009 at 8:57 AM, Martin Grotzke <
> > > > > > martin.grot...@javakaffee.de> wrote:
> > > > > >
> > > > > > > Hi,
> > > > > > >
> > > > > > > our project contains several subprojects. Two of them I want to
> run
> > > > > with
> > > > > > > jetty, both instances shall be running at the same time.
> > > > > > >
> > > > > > > To change the port for one of the instances, I use
> > > > > > >  jetty.url = "http://localhost:8090";
> > > > > > > in the context of one subproject, but this seems to change also
> the
> > > url
> > > > > > > for the jetty task defined in the different subproject.
> > > > > > >
> > > > > > > That's how I define the jetty tasks:
> > > > > > >
> > > > > > > define "myproj" do
> > > > > > >
> > > > > > >  define "subprojA" do
> > > > > > >    ...
> > > > > > >    task("jetty"=>[package(:war), jetty.use]) do |task|
> > > > > > >      jetty.deploy("http://localhost:8080";,
> > > task.prerequisites.first)
> > > > > > >      puts 'Press CTRL-C to stop Jetty'
> > > > > > >      trap 'SIGINT' do
> > > > > > >        jetty.stop
> > > > > > >      end
> > > > > > >      Thread.stop
> > > > > > >    end
> > > > > > >
> > > > > > >  end
> > > > > > >
> > > > > > >  define "subprojB" do
> > > > > > >
> > > > > > >    jetty.url = "http://localhost:8090";
> > > > > > >    task("jetty"=>[package(:war), jetty.use]) do |task|
> > > > > > >      jetty.deploy("http://localhost:8090";,
> > > task.prerequisites.first)
> > > > > > >      puts 'Press CTRL-C to stop Jetty'
> > > > > > >      trap 'SIGINT' do
> > > > > > >        jetty.stop
> > > > > > >      end
> > > > > > >      Thread.stop
> > > > > > >    end
> > > > > > >
> > > > > > >  end
> > > > > > >
> > > > > > > end
> > > > > > >
> > > > > > > When I run the first jetty with
> > > > > > >  buildr myproj:subprojA
> > > > > > > it fails with
> > > > > > > ...
> > > > > > > Starting Jetty at http://localhost:8090
> > > > > > > 1 [main] INFO org.mortbay.log - Logging to
> > > > > > > org.slf4j.impl.SimpleLogger(org.mortbay.log) via
> > > > > org.mortbay.log.Slf4jLog
> > > > > > > 15 [main] INFO org.mortbay.log - jetty-6.1.3
> > > > > > > 74 [main] INFO org.mortbay.log - Started SocketConnector @
> > > > > 0.0.0.0:8090
> > > > > > > Jetty started
> > > > > > > Buildr aborted!
> > > > > > > Connection refused - connect(2)
> > > > > > >
> > > > > > >
> > > > > > > Is it somehow possible to run several jetty instances for
> different
> > > > > > > subprojects?
> > > > > >
> > > > > >
> > > > > > Each time you call the jetty method it will return the same one
> > > instance
> > > > > of
> > > > > > jetty.  The jetty task is run after the buildfile, at which point
> the
> > > > > last
> > > > > > value you set to jetty.url is the current value, which happens to
> be
> > > > > 8090.
> > > > > >
> > > > > > If you want multiple instances, Jetty.new(name, url) and give
> each
> > > one a
> > > > > > different URL.  Name is used to namespace the setup/teardown/use
> > > task, so
> > > > > > you can use the same name for all instances, or pick different
> one.
> > > > > >
> > > > > > Assaf
> > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Thanx && cheers,
> > > > > > > Martin
> > > > > > >
> > > > > > >
> > > > >
> > >
>

Reply via email to