Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-dev] ShrinkWrap Integration with Jetty

After some discussions on #jetty@Freenode, thought we'd go for a more persistent introduction. :)

Over at JBoss we've been working on a simple API analouge to the "jar" tool; its goal is to allow developers to very quickly make archives like JARs, WARs, and EARs in Java:

JavaArchive archive = Archives.create("myEjb.jar", JavaArchive.class)
   .addClasses(MyEjbBean.class,MyEjbLocalBusinessInterface.class)
   .addResource("META-INF/ejb-jar.xml");

From there, we're aiming to coordinate with as many target containers as possible to support direct deployment:

server.deploy(archive);

This eliminates the packaging steps required to run integration tests.

The project is called "ShrinkWrap"[1][2], and we're in our 4th alpha release. We have pretty decent test coverage and a growing community including OpenEJB, GlassFish, and jClouds, though the "alpha" indicator is to show that our core APIs are subject to changes until we enter beta.

I've done a preliminary stab at integrating with Jetty:

http://community.jboss.org/message/523145

This implementation works by extending WebAppContext, serializing a backing ShrinkWrap archive into a tmp ZIP-format file, and deploying that. Definitely open to a more efficient mechanism that doesn't require disk I/O or ZIP encoding, if Jetty can support it.

I invite you to join us and perhaps import/fork the work above into Jetty to make things more transparent for users. Building should be fairly intuitive:

http://community.jboss.org/docs/DOC-14304

Jetty specific code is located in the "extension-jetty" module. Hoping you'd like to work with us and looking forward to hearing from you. :)

S,
ALR


[1] http://jboss.org/shrinkwrap
[2] http://community.jboss.org/wiki/ShrinkWrap


Back to the top