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

Reply via email to