On 9/29/09 13:22, Andreas Grote wrote:
FYI - problem is solved.
With Felix default launcher it worked as desired, and I figured out that for an embedded felix and for runlevels up to 9 org.osgi.framework.startlevel.beginning is sufficient, for higer runlevels I need to set both org.osgi.framework.startlevel.beginning and org.osgi.framework.startlevel to stop the bundles properly. Strange but works...

Not sure I totally understand. The launcher just uses an "embedded" framework instance, so it should work the same in both cases. Was it just a mistake in your custom launcher or is there something not working quite right?

When you start a framework instance, it should start bundles according to start level. When you stop a framework instance, it should stop bundles according to reverse start level. Whether a bundle's start level is greater than 9 should have no impact. If you are seeing something different, then we should get to the bottom of it.

Thanks.

-> richard

Andreas

Richard S. Hall wrote:
Do you have any issues if you just use Felix' default launcher with the auto-start properties specifying start levels greater than 9?

If so, open an issue describing steps to reproduce and we will look into it.

-> richard

On 9/25/09 10:30, Andreas Grote wrote:
I have some trouble using bundle start level>9 in Felix 1.8.0. The bundles are started without any problems, but calling felix.stop() does not bring them down as expected. Using levels up to 9 this works fine, but using one or more bundles with level >9 prevents all bundles from being stopped. The OSGi spec tells me that start level can be an int value, so I see no reason why this should be limited to 1..9. Anyone else experienced this, or successfully used higher bundle startlevels than 9?

This is what I am doing in my own main bringing up felix:
*Read in system and configuration properties as felix does
*Read in bundles from own config file (listing bundle names and start levels)
*Use own framework activator and tell this to felix:
configProps.put(FelixConstants.SYSTEMBUNDLE_ACTIVATORS_PROP, list);
      m_framework = new Felix(configProps);
      m_framework.start();

This list is then processed step by step by my framework activator as follows: StartLevel sl = (StartLevel) context.getService(context.getServiceReference
    (org.osgi.service.startlevel.StartLevel.class.getName()));
    Bundle b = context.installBundle(name, null);
    sl.setBundleStartLevel(b, level);
    b.start();

The framwwork startlevel is set in config.properties as usual:
org.osgi.framework.startlevel.beginning=9
Setting this to 10 and configure at least one bundle to level 10 breaks the stopping sequence :-(.

Thanks,
Andreas

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


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




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

Reply via email to