Hi,

I'm testing Felix 2.0.5, and I've found a behaviour that is a bit
strange to me. I have a bundle that depends on the LogServiceReader
service although it is expressed in the Import-Package header. Now,
when I copy the bundle .jar file with log-bundle.jar name and start
felix (no felix-cache/ dir available, all is started from bundle/ dir)
my bundle cannot find that service that is provided by 'Apache Felix
Log Service'. This is the results of the 'ps' command:

-> ps
START LEVEL 1
   ID   State         Level  Name
[   0] [Active     ] [    0] System Bundle (2.0.5)
[   1] [Active     ] [    1] LogWriter (1.0.0)
[   2] [Active     ] [    1] Apache Felix Bundle Repository (1.4.3)
[   3] [Active     ] [    1] Apache Felix Log Service (1.0.0)
[   4] [Active     ] [    1] Apache Felix Shell Service (1.4.2)
[   5] [Active     ] [    1] Apache Felix Shell TUI (1.4.1)
[   6] [Active     ] [    1] Test1 (1.0.0)
[   7] [Active     ] [    1] Test2 (1.0.0)

And this is the result of the 'headers 1' command (please note that
the Import-Package is properly set):
-> headers 1

LogWriter (1)
-------------
Ant-Version = Apache Ant 1.7.1
Bundle-Activator = tests.LogWriterActivator
Bundle-Description = Bundle Log that adds a writer of log messages to
default OSGi log service
Bundle-Name = LogWriter
Bundle-Vendor = Luis [email protected]
Bundle-Version = 1.0.0
Created-By = 14.0-b16 (Sun Microsystems Inc.)
Import-Package = org.osgi.framework,org.osgi.service.log
Manifest-Version = 1.0


Now, if I remove felix-cache/ dir again, and I rename my bundle file
like 'mv bundle/log-bundle.jar bundle/zlog-bundle.jar' we have that
the LogServiceReader is properly found (no error message found, and
the log works just fine). The reason seems that my bundle .jar is
found now after the Apache Felix Log Service bundle .jar. The 'ps'
returns:

-> ps
START LEVEL 1
   ID   State         Level  Name
[   0] [Active     ] [    0] System Bundle (2.0.5)
[   1] [Active     ] [    1] Apache Felix Bundle Repository (1.4.3)
[   2] [Active     ] [    1] Apache Felix Log Service (1.0.0)
[   3] [Active     ] [    1] Apache Felix Shell Service (1.4.2)
[   4] [Active     ] [    1] Apache Felix Shell TUI (1.4.1)
[   5] [Active     ] [    1] Test1 (1.0.0)
[   6] [Active     ] [    1] Test2 (1.0.0)
[   7] [Active     ] [    1] LogWriter (1.0.0)

(Note that the id of my bundle is now 7 instead of 1). The 'headers 7'
command returns just the same as before:
-> headers 7

LogWriter (7)
-------------
Ant-Version = Apache Ant 1.7.1
Bundle-Activator = tests.LogWriterActivator
Bundle-Description = Bundle Log that adds a writer of log messages to
default OSGi log service
Bundle-Name = LogWriter
Bundle-Vendor = Luis [email protected]
Bundle-Version = 1.0.0
Created-By = 14.0-b16 (Sun Microsystems Inc.)
Import-Package = org.osgi.framework,org.osgi.service.log
Manifest-Version = 1.0


Now, it seems to me a bit weird that changing the bundle file name
changes also the resolution results process. Is this the way felix is
supposed to work? Is this according to the spec?

Best regards and thanks for your help!

Luis Rodero-Merino

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to