We need to at least import all the packages that may be provided by the JRE: javax.*, org.w3c.* and such things. So I still think using optional imports by default would be easier.
On Sat, Oct 3, 2009 at 20:08, Ian Robinson <[email protected]> wrote: > If the aplication starting point is a vanilla war that runs in Java EE in a > non-OSGi context then that war would need to have been correctly packaged > with all its dependencies in order to run in that environment. When > converting such a war to a web application bundle we should probably assume > - as a starting point - that we don't need even optional imports for the > packages referenced by the embedded libraries as putting these in the > manifest will likely result in over-provisioning. > > - Ian > > Jay D. McHugh wrote: > > This may be premature - but... > > I am looking ahead to when Aries is in use by an app server to provide > the required plumbing. And, in a case like that, a WAR file may > (probably will) be deployed that expects to have the EE framework (mail, > JNDI, EJB, etc) available. > > This is my expectation, although we'll surely see web and other profiles > that don't include everything. > > So, there will be WAR files that just have > deployment descriptors that specify what the dependencies are. > Or, would we expect that there will be some other part of the EE > framework that will have to provide backward compatibility (mapping the > deployment descriptor onto a OSGi manifest)? > > Jay > > > > Guillaume Nodet wrote: > > > I would think we should trust the user and expect it to have packaged > his war correctly, i.e. with all the mandatory dependencies. > Any other option would force the user to write the full manifest, thus > removing the need for the war url handler ;-) > > On Fri, Oct 2, 2009 at 19:44, Valentin Mahrwald > <[email protected]> wrote: > > > On Fri, Oct 2, 2009 at 6:28 PM, Guillaume Nodet <[email protected]> wrote: > > > > What about setting up the import package so that all the imports are > optional ? > This would at least make sure that wars that have no external > dependencies could deploy without any problems. > > > > I suppose that is fine if the major use case deploying self-contained war > files. Otherwise, I would be afraid of unpredictable ClassNotFoundExceptions > occurring at runtime, which I guess the aim would be to avoid as far as > possible. > > However, I can see a point for generating all-optional imports for embedded > libraries without manifest since there isn't much else we can do other than > force the user to specify dependencies explicitly, which seems a bit > awkward. > > This seems to be a question of whether we would rather stop a legacy war > from deploying if we are unsure whether it will work at runtime / which > extra dependencies need to be supplied > or deploy anyway and let the user deal with any problem if/when they occur. > > > > > On Fri, Oct 2, 2009 at 19:23, Valentin Mahrwald > <[email protected]> wrote: > > > You are right embedded libraries are indeed a major problem with the code > > > as > > > it stands and has been discussed (but, alas, not resolved) IBM > > > internally. > > > As far as I am aware there is no prescribed solution for this in RFC 66, > > > so > > > we are free to devise the mechanism that seems best. > > Possibly, the best mechanism would be to require embedded libraries to > either > - specify a valid OSGi manifest from which we could determine what > dependency the library adds and which it resolves > or > - have no external dependencies (which is of course very hard to check at > runtime since we cannot know for any given libraries whether dependencies > are optional or not). > > This would I hope cover the majority of utility libraries one would want > > > to > > > include in a WAB. > > > On Fri, Oct 2, 2009 at 1:24 PM, Guillaume Nodet <[email protected]> > > > wrote: > > > Just having a quick look at the contributed wab/war url handler, it > seems that the strategy is to analyze all the classes and import all > the packages that are used minus those that are provided by the web > archive. > I may have missed something, but I doubt this really work, because any > library included in the war will need *all* the referenced packages to > be solved. But lots of those packages may be optional. How would > that work ? > > -- > Cheers, > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > ------------------------ > Open Source SOA > http://fusesource.com > > > > -- > Cheers, > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > ------------------------ > Open Source SOA > http://fusesource.com > > > > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com
