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: Custom GBeans deployment in 1.0
Date Thu, 16 Mar 2006 20:50:39 GMT
On 3/16/06, Kenji Nakamura <nakamura.kenji.ml@gmail.com> wrote:
> Hi,
>
> We've developed several custom GBeans on M5, and now considering to upgrade
> to 1.0 release.
> I came up with the following questions.
>
> 1) configID format changes
> According to release note, configID convention has changed between M5 and
> 1.0 and refer to Wiki site, but I can't find the page mentioning about the
> new configID and migration path. Where can I find the information?

Between M5 and 1.0, if I remember correctly, we changed the config ID
format used by all the Geronimo configurations (e.g. from
org/apache/geronimo/Server to geronimo/j2ee-server/1.0/car).  However,
this is not a mandatory change for GBeans -- because the Geronimo
names changed you'll need to update any references to core Geronimo
services (e.g. in references or parentId attributes), but your
configurations can still use arbitrary config IDs.

In 1.1, there are changes that will require GBeans to use an updated
deployment plan format with more structured config ID information, so
that will require changes to your config files even if you don't
explicitly refer to Geronimo services.

> 2) Offline deployment
> The custom GBeans are built in our Maven1.0 scripts, and deploy to Geronimo
> with "--offline" option. I noticed the option was dropped, and the future
> version will provide offline deployer, but what is the best way to deploy
> our custom GBeans in the meanwhile? I tried to use packaging maven plugin
> within our build system, but it seems to require the existence of maven
> build environment AFAIK. I want to simply extract geronimo distirubution
> package, deploy custom GBeans without launching the server, and then
> re-package to ship.

The normal procedure is:

 - put code in a JAR
 - put the JAR in the repository/ directory
 - write a deployment plan with a <dependency> pointing to the JAR
 - deploy the deployment plan using the hot deploy directory, Maven
deployment tool, command-line deployer tool, or console.  However, in
most of those cases, the server must be running.

> 3) Custom GBean hot deployment
> Is it possible to deploy custom GBeans (such as HSQLDB launcher, custom
> security realm, etc.) via hot deployment? Preferably, I'd like to package
> the GBean into one file just like WAR or JAR (I guess CAR is for that
> purpose?).

Yes.  I don't think we support a JAR with embedded service deployment
plan, I think you usually split up the JAR and deployment plan as in
the formula above.  A CAR is not quite that -- as I understand it it
contains a post-processed binary version of the configuration.  If we
don't support a service JAR as such, we probably should.

> 4) CAR file
> Relating to 3), I'm interested in CAR format, but can't find the document
> about it. Would you give me the pointer?

Not sure there is one -- maybe on the wiki?

> 5) Future migration cost
> Do you expect any major modification on custom GBean when upgrading to the
> future version such as 1.1? If that's the case, I'll also consider the
> option to skip to migrate to 1.0, and wait for another release.

I think the M5->1.0 change will be smaller than the 1.1->1.1 change,
but I expect them both to require mainly configuration changes, not
GBean code changes.  Dain and David J are working on the biggest 1.1
config ID related features, and can probably give you a more complete
answer.

Thanks,
    Aaron

Mime
View raw message