On Sep 5, 2006, at 6:03 PM, Chris Wall wrote:
Some more questions.... :-)
1.) I suppose I don't understand extensions. If an application uses
implementation.spring and binding.ws, should the Spring container
and Celtix
binding jars be bootLibs or extensions? Both extend the core, so
my initial
guess was that they both were extensions. Configuring them as such
each
produce MissingResourceException during Tuscany bootstrapping. As
bootLibs
both resources are found.
They should be extensions but the extension mechanism is not working
yet for webapps (WIP).
2.) Maybe this is WIP, but transitive dependencies are not pulled
into the
webapp. For example, the Celtix binding requires many additional
jars, but
are not included in the WAR - NoClassDefFoundError:
javax/wsdl/WSDLException.
They are not - I hope Meeraj is working on support for that for
bootLibs.
For extension, we need to do a couple of things:
1) find out what the dependencies for an extension are - this was the
discussion Jim and I had a while ago about using OSGi dependencies
vs. using Maven meta-data either read from the jar or by using
<dependency> elements in the scdl.
2) use the ArtifactRepository to resolve those dependencies (e.g.
from a local maven repo)
I like the idea of reusing all of this function from Maven (given the
number of easily available artifacts plus its support for intranet
configurations) but we need to chat to the Maven folks to see how
easy it would be to extract that function. Any help here would be
appreciated.
As a work around, you can always use Class-Path entries in the
extensions' manifests to include the dependencies.
3.) How does the plugin and bootstrap handle the scenario where a
bootLib
and/or extension lib share a dependency with the application? Will
the
plugin and bootstrap mechanism default to WEB-INF/lib/<shared-jar>?
The host's classloader (for a webapp this is the TCCL) is a parent
classloader for all the runtime classloaders. So extensions are
children of the runtime boot loader which is a child of the webapp
loader. Putting things in WEB-INF/lib should make them available to
everything. Having said that I am not convinced we are following this
structure everywhere and I am in the process of going back through
and checking how we set them all up.
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]