geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <>
Subject Re: classloading in 3.0
Date Mon, 07 Nov 2011 22:44:21 GMT

On Nov 7, 2011, at 5:03 AM, Kevan Miller wrote:

> On Nov 4, 2011, at 3:42 PM, David Jencks wrote:
>> On Nov 4, 2011, at 12:07 PM, Radim Kolar wrote:
>>> I propose to make classloading in 3.0 entirely different. Give user aplication
access to javax.* stuff and other required J2EE 6 apis and nothing else unless told otherwise
by deployment descriptor.
>> I'd like this too.  How do you propose to get this to work?  I've been working on
several ideas that end up requiring major modifications to geronimo that I haven't been able
to get to work.  Any ideas you might have would be great to see.
> Agreed. We'd discussed this previously, IIRC.
>> What I'd actually like to see is that, instead of arbitrarily importing any particular
set of classes, we run bnd on the application classes to determine the Import-Packages needed.
> Are you saying you don't want to arbitrarily import spec api classes? Or are you suggesting
we use BND to dynamically determine Import-Packages for non-spec classes? I assume the latter
would be filtering (not importing) packages that are already included in the application archive?

I imagine we can figure out how to configure bnd to not generate import-package for anything
in the application.  It might be a little different from the maven-bundle-plugin since maven
will be missing.

> Automatically importing a default set of spec api classes would be a good first step,
IMO. And require explicit Import-Packages -- at least initially.

I'd like there to be no default import-packages and all imports, spec or anything else, be
determined by byte-code analysis by bnd.  If you need more (e.g. dynamic class loading) you
can specify bnd instructions.  I don't think this will really work until we get everything
in the server to work as a bundle extender, but maybe I'm being too pessimistic.

david jencks

> --kevan

View raw message