geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Mulder" <ammul...@alumni.princeton.edu>
Subject Re: A deployable object
Date Tue, 13 Jun 2006 14:20:34 GMT
On 6/13/06, Nirav Mehta <mehtanirav@gmail.com> wrote:
> Hi,
> I my quest to understand J2EE and its possibilities, I went through many
> docs but couldn't find answers to some basic concepts. I know these
> questions don't look very good on the "geronimo" group, but I did not get
> many answers in other places. Please answer these:
>
> 1. What is termed as a deployable object? Is it an archive i.e. a WAR, EAR,
> etc. Or something that comes to being after deployment of an archive?

I'm not sure that's really a standard term.  Normally, there's an
archive like a WAR or EAR that is an unprocessed application.  That
form is the archive is the same for all servers, though they tend to
use different deployment plans files (or server-specific deployment
descriptors).  When you deploy it to the server, the server normally
validates it, generates some code, etc. and creates a processed
version of the application.  That version is totally specific to each
server, in both format, data, and storage mechanism.

> 2. Can I create my own archive type?

Depends on the server.  In Geronimo you can, if you create a deployer
plugin that handles the new archive type.  For example, we were
recently talking about a Quartz scheduler plugin, which lets you
package scheduled jobs in a JAR with the job classes and schedule data
and deploy that.  This is not normally done to let you create custom
J2EE application formats, but as here (or with a Spring or ServiceMix
deployer), to let you deploy features that J2EE doesn't normally
cover.

> 3. Can I access some resource of another deployed web archive? e.g. If have
> an XML descriptor in another WAR deployed on the server, how can I access
> it?

I don't think there's a portable way to do this.   There's something
called cross-context dispatch that lets you invoke URLs in a different
web application, but as far as I know not typically access arbitrary
resources like XML files.  For each server you could figure out how
the WAR files are stored in the post-processed module format, but
that's kind of dirty.  The best way to go is probably to pack the XML
file into a JAR and make the JAR available to both WARs -- either by
putting it in WEB-INF/lib of both, or by putting both WARs in an EAR
and, for example, including the JAR in the Manifest Class-Path of each
WAR.

> 4. When an application is deployed, is it necessarily loaded or running,
> i.e. the JSPs are compiled to servlets, etc...?

Again, this depends on the server.  Geronimo follows the JSR-88
specification, which lets you distribute an application without
starting it.  If it's running, you can stop it without necessarily
uninstalling it, and then start it later.  A
distributed-but-not-started module is still the post-processed version
of the application (validation has been performed and code generated,
etc.), but it is just not running at the moment.

Hope that helps,
     Aaron

Mime
View raw message