incubator-wadi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Bartel <j...@mortbay.com>
Subject Re: [wadi-dev] Cargo support for Jetty
Date Tue, 24 Jan 2006 10:13:14 GMT
Jules,

answers inline.


> A few questions:
> 
> My understanding is that Cargo provides a common platform for lifecycle 
> operations on both container and app, across e.g. Jetty and TC...?
Yes. There is a common Cargo API that is container agnostic.


> Is it JSR77/88 compliant ?
The API itself isn't at the moment (I don't think).

The API goes something like:

  //Set up the webapp you want to be deployed
  Deployable servletExamples = new WAR("src/test/resources/servlets-examples.war");

  //Set up the canned configuration for the container (eg jetty6)
  LocalConfiguration config = (LocalConfiguration)factory.createConfiguration("jetty6xEmbedded",
              ConfigurationType.STANDALONE, tmpdir);
  
  //Associate webapp
  config.addDeployable(servletExamples);

  //Create the container of your choice (eg jetty6)
  Jetty6xEmbeddedLocalContainer container = 
       new Jetty6xEmbeddedLocalContainer(config);
      
  //Start the container and statically deploy any associated webapps
  container.start();

  //Create a different webapp
  Deployable jspExamples = new WAR("src/test/resources/jsp-examples.war");

  //Create a hot deployer for the container
  Jetty6xEmbeddedDeployer deployer = new Jetty6xEmbeddedDeployer(
              container);

  //Hot deploy the webapp
  deployer.deploy(jspExamples);

  //Hot undeploy the webapp
  deployer.undeploy(jspExamples);

  //Stop the container
  container.stop();

There is a Maven2 plugin equivalent for all of that API as well, so you
can set it all up in your pom.xml instead of writing code.


> How specifically do you see it being involved in the build - integration 
> testing - have you seen what Bill has done with cargo, etc...
No, I haven't seen what Bill has done for Tomcat etc with Cargo, but whatever
he has done for the others is now do-able also for Jetty.

Note tho' that if you go to using the Cargo plugin to kick off the Jetty
webcontainer instead of the Jetty6 plugin you won't have the automatic
redeploy of a webapp if a class changes.

> Can we do with TC what you are thinking of doing with Jetty ? - how 
> about other containers - JBoss, Geronimo etc ...
I believe Cargo supports Tomcat and JBoss and somebody is looking into
supporting Geronimo - it's either just newly done or being done.


cheers
Jan

Mime
View raw message