I am not sure what your scenario is, but here I load a host and fragment, start the host to attach the fragment, then stop the framework and restart and the fragment reattaches:

[heavyweight main]$ java -jar bin/felix.jar

Welcome to Felix.
=================

DEBUG: WIRE: 1.0 -> org.ungoverned.osgi.service.shell -> 1.0
DEBUG: WIRE: 1.0 -> org.osgi.service.startlevel -> 0
DEBUG: WIRE: 1.0 -> org.apache.felix.shell -> 1.0
DEBUG: WIRE: 1.0 -> org.osgi.framework -> 0
DEBUG: WIRE: 1.0 -> org.osgi.service.packageadmin -> 0
DEBUG: WIRE: 2.0 -> org.apache.felix.shell -> 1.0
DEBUG: WIRE: 2.0 -> org.osgi.framework -> 0
DEBUG: WIRE: 3.0 -> org.osgi.framework -> 0
DEBUG: WIRE: 3.0 -> org.osgi.service.obr -> 3.0
-> DEBUG: WIRE: 3.0 -> org.apache.felix.shell -> 1.0
cd file:/Users/rickhall/Projects/testbundles/fragment/
-> install host.jar
Bundle ID: 4
-> install fragment.jar
Bundle ID: 5
-> ps
START LEVEL 1
  ID   State         Level  Name
[   0] [Active     ] [    0] System Bundle (1.5.0.SNAPSHOT)
[   1] [Active     ] [    1] Apache Felix Shell Service (1.1.0.SNAPSHOT)
[   2] [Active     ] [    1] Apache Felix Shell TUI (1.1.0.SNAPSHOT)
[   3] [Active     ] [    1] Apache Felix Bundle Repository (1.3.0.SNAPSHOT)
[   4] [Installed  ] [    1] Fragment Host (1.0.0)
[   5] [Installed  ] [    1] Fragment (1.0.0)
-> start 4
DEBUG: WIRE: 4.0 -> org.osgi.framework -> 0
DEBUG: (FRAGMENT) WIRE: 4.0 -> org.ungoverned.bundle.fragment -> 5.0
Fragment locale test:
The default resource:
 1:Starting the system...
 2:Loading user's settings...
The French resource:
 1:Commencer le syst̬me...
 2:Les arrangements de l'utilisateur de chargement...
-> stop 0
-> [heavyweight main]$ java -jar bin/felix.jar

Welcome to Felix.
=================

DEBUG: WIRE: 1.0 -> org.ungoverned.osgi.service.shell -> 1.0
DEBUG: WIRE: 1.0 -> org.osgi.service.startlevel -> 0
DEBUG: WIRE: 1.0 -> org.apache.felix.shell -> 1.0
DEBUG: WIRE: 1.0 -> org.osgi.framework -> 0
DEBUG: WIRE: 1.0 -> org.osgi.service.packageadmin -> 0
DEBUG: WIRE: 2.0 -> org.apache.felix.shell -> 1.0
DEBUG: WIRE: 2.0 -> org.osgi.framework -> 0
DEBUG: WIRE: 3.0 -> org.osgi.framework -> 0
DEBUG: WIRE: 3.0 -> org.osgi.service.obr -> 3.0
-> DEBUG: WIRE: 3.0 -> org.apache.felix.shell -> 1.0
DEBUG: WIRE: 4.0 -> org.osgi.framework -> 0
DEBUG: (FRAGMENT) WIRE: 4.0 -> org.ungoverned.bundle.fragment -> 5.0
Fragment locale test:
The default resource:
 1:Starting the system...
 2:Loading user's settings...
The French resource:
 1:Commencer le syst̬me...
 2:Les arrangements de l'utilisateur de chargement...

-> ps
START LEVEL 1
  ID   State         Level  Name
[   0] [Active     ] [    0] System Bundle (1.5.0.SNAPSHOT)
[   1] [Active     ] [    1] Apache Felix Shell Service (1.1.0.SNAPSHOT)
[   2] [Active     ] [    1] Apache Felix Shell TUI (1.1.0.SNAPSHOT)
[   3] [Active     ] [    1] Apache Felix Bundle Repository (1.3.0.SNAPSHOT)
[   4] [Active     ] [    1] Fragment Host (1.0.0)
[   5] [Resolved   ] [    1] Fragment (1.0.0)
->

-> richard

Walid "jo" Gedeon wrote:
I'm good with that, thanks.
It works (just tried it), however it fails on next restart :-(
ERROR: Error starting file:///.../log4jconfi
g-fragment-0.0.1.jar (org.osgi.framework.BundleException: Unresolved
constraint in bundle 26: host; (bundle-symbolic-name=org.apache.log4j))
org.osgi.framework.BundleException: Unresolved constraint in bundle 26:
host; (bundle-symbolic-name=org.apache.log4j)
(stack trace)

I've tried a few other scenarios of not starting libraries, etc. And they
all lead to a log4j service that's Active, and a fragment that's installed;
and with the fragment either failing to attach to the service (error message
from framework), or not loaded (error message from log4j).

:-S looks like an already activated system does not reboot in the same state
--w

Reply via email to