dev@glassfish.java.net

slf4j Osgi Load Issues

From: Roger Kitain <Roger.Kitain_at_Sun.COM>
Date: Wed, 28 Oct 2009 12:21:09 -0400

One of the changes that Weld had done (recently) is move away from
commons logging to slf4j.
We may now need to add slf4j osgi bundles in GlassFish V3 .
These bundles are available at:
http://repo2.maven.org/maven2/org/slf4j/slf4j-api/
http://repo2.maven.org/maven2/org/slf4j/slf4j-jdk14/1.5.9-RC0/

I did try to install these bundles under glassfish/modules, but it
barfed with the following error:

WARNING: Failed to install
file:/Users/rogerk/V3/glassfishv3/glassfish/modules/slf4j-api-1.5.9-RC0.jar
org.osgi.framework.BundleException: Could not create bundle object.
   at org.apache.felix.framework.Felix.installBundle(Felix.java:2434)
   at org.apache.felix.framework.Felix.installBundle(Felix.java:2277)
   at
org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:130)

   at org.jvnet.hk2.osgimain.Main.install(Main.java:334)
   at org.jvnet.hk2.osgimain.Main.traverse(Main.java:268)
   at org.jvnet.hk2.osgimain.Main.start(Main.java:127)
   at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:639)

   at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
   at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
   at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077)
   at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
   at java.lang.Thread.run(Thread.java:637)
Caused by: java.lang.NumberFormatException: For input string: "9-RC0"
   at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

   at java.lang.Integer.parseInt(Integer.java:456)
   at java.lang.Integer.parseInt(Integer.java:497)
   at org.osgi.framework.Version.<init>(Version.java:133)
   at org.osgi.framework.Version.parseVersion(Version.java:218)
   at
org.apache.felix.framework.util.manifestparser.ManifestParser.<init>(ManifestParser.java:77)

   at org.apache.felix.framework.ModuleImpl.<init>(ModuleImpl.java:203)
   at
org.apache.felix.framework.BundleImpl.createModule(BundleImpl.java:1115)
   at org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:79)
   at org.apache.felix.framework.Felix.installBundle(Felix.java:2372)
   ... 11 more

The MANIFEST information for the api bundle is:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: ceki
Build-Jdk: 1.6.0_05
Bundle-Description: The slf4j API
Bundle-Version: 1.5.9-RC0
Implementation-Version: 1.5.9-RC0
Implementation-Title: slf4j-api
Bundle-ManifestVersion: 2
Bundle-SymbolicName: slf4j.api
Bundle-Name: slf4j-api
Bundle-Vendor: SLF4J.ORG
Bundle-RequiredExecutionEnvironment: J2SE-1.3
Export-Package: org.slf4j;version=1.5.9-RC0, org.slf4j.spi;version=1.5
 .9-RC0, org.slf4j.helpers;version=1.5.9-RC0
Import-Package: org.slf4j.impl;version=1.5.9-RC0

Is 1.5.9-RC0 an invalid version in the eyes of felix osgi?

-roger