On Thu, 19 Dec 2002 15:45, Adam Murdoch wrote:
> - <entry> and <fileset> can't refer to locations outside the sar, whereas
> <policy> entries can.  Is this intentional, or just not implemented?

partially intentional. The fact that <policy> can refer to things outside the 
.sar file is purely a historical artefact. It should not be able to but it 
can atm so we leave it as is.

>  Or is
> this only really meaningful when deploying from, say, an xml descriptor (a
> todo item), instead of a sar?

Once xml descriptors are deployable from then both <policy> and <classloader> 
should be able to refer to anything defined anywhere in deployment.
>
> - There's no property expansion for <entry> and <fileset>, like there is
> for <policy> entries.  Is this because of the above, or just not
> implemented?

<policy/> expansion is a historical artefact. Eventually I think we should 
"interpret" the whole set of configuration files using jelly or something 
similar and thus evaluate all properties. It has been suggested a few times 
but no one has coded up.

> - Order is lost across <entry>, <fileset>, and <extension> elements.  The
> classloader builder handles all the <entry>s, then all the <fileset>s, and
> then all the <extension>s.  Would it not be better to preserve the ordering
> of these elements?

Partially intentional. Order should not be used in this way as every element 
in classloader should be exclusive and non-overlapping.

> - Why bother declaring predefined classloaders?

Because then you can validate the configuration in a context free manner. The 
plan was to eventually refactor phoenix internals enough that alternative 
predefeind loaders could be added.

> - Why bother with <join> elements?  Why not allow <classloader> to take
> multiple parents?

simplicity for user. May mean slightly more work but forces them to think 
about them specially which is important as they are special.

> - Is it too late to change any of this stuff, wrt backwards compat?

The policy stuff is fairly fixed and we can only deprecate or do forward 
compatible changes. Even if this means doing 

if( version="1.0" ) do old stuff
else if( version="1.1" ) do new stuff
else throw Error();

The ClassLoader stuff is open to changes in most cases. Fire away.

-- 
Cheers,

Peter Donald
--------------------------------------------------
 The fact that nobody understands you doesn't 
 mean you're an artist.
--------------------------------------------------


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to