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]>
