Hi,
OSGi is the spec we use to specify deployment dependencies, but the
actual deployment, in the current version of Nuxeo, is still done by
JBoss, and does not follow OSGi classloader rules.
If you peek at the server/defaut/log/server.log, you'll see something
like:
DEBUG [org.jboss.deployment.JARDeployer] looking for nested
deployments in : file:/opt/jboss/server/default/deploy/nuxeo.ear/
platform/nuxeo-platform-workflow-jbpm-5.1.4-SNAPSHOT.jar
[...]
DEBUG [org.jboss.deployment.JARDeployer] nested deployment: file:/opt/
jboss/server/default/tmp/deploy/tmp44861nuxeo-platform-workflow-
jbpm-5.1.4-SNAPSHOT.jar-contents/jbpm-3.1.4.jar
DEBUG [org.jboss.deployment.JARDeployer] nested deployment: file:/opt/
jboss/server/default/tmp/deploy/tmp44861nuxeo-platform-workflow-
jbpm-5.1.4-SNAPSHOT.jar-contents/jbpm-identity-3.1.4.jar
DEBUG [org.jboss.deployment.JARDeployer] nested deployment: file:/opt/
jboss/server/default/tmp/deploy/tmp44861nuxeo-platform-workflow-
jbpm-5.1.4-SNAPSHOT.jar-contents/saxon.jar
So JBoss automatically deploys embedded jars.
From a quick look at the code there are two ways to have embedded
files not be deployed by JBoss:
1. put them in META-INF
2. don't give them a recognized suffix (.jar, .sar, .ear, etc.)
Florent
On 29 Mar 2008, at 19:12, Michael Santy wrote:
Hello,
I'm in the process of creating a Nuxeo plugin that, among other
things,
packages a WebStart application. This Web Start application
consists of
several jars that are included in the plugin jar as resources in
nuxeo.war/myapp.
The deployment fragment extracts these WebStart resource jars from
the Nuxeo
plugin and places them under nuxeo.ear/nuxeo.war/myapp directory in
the
filesystem as expected.
The problem is that these WebStart jars, by default, are
automatically being
loaded into the classpath when the plugin is loaded. This causes a
problem
for jars that register service implementations, such as the attached
saxon.jar. The stacktrace that I see when starting Nuxeo with my
plugin is
attached. This prevents nuxeo from being properly deployed.
This condition can be duplicated by including saxon.jar in any of the
bundles in the platform directory (e.g.,
nuxeo-platform-workflow-jbpm-5.1.3.2.jar).
Based on my understanding of OSGI bundles, only the resources
specified in
the the "Bundle Classpath" header of MANIFEST.MF should be loaded
into the
classpath (see http://www.aqute.biz/Blog/2007-02-19).
Could someone please provide some insight on this subject.
Hopefully, I'm
just missing something simple, but I wanted to bring it up on the
list in
case it is a bug.
I appreciate any help in advance.
Cheers,
Mike
<
saxon
.jar><stacktrace.txt>_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm
--
Florent Guillaume, Director of R&D, Nuxeo
Open Source Enterprise Content Management (ECM)
http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87
_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm