import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.service.startlevel.StartLevel;
import org.osgi.util.tracker.ServiceTracker;
public class StartLevelExample {
private BundleContext bundleContext;
private ServiceTracker<StartLevel, StartLevel> startLevelTracker;
public void init() {
bundleContext = // ...
startLevelTracker = new ServiceTracker<>(bundleContext, StartLevel.class, null);
startLevelTracker.open();
}
public void setBundleStartLevel(Bundle bundle, int startLevel) {
StartLevel startLevelService = startLevelTracker.getService();
if (startLevelService != null) {
startLevelService.setBundleStartLevel(bundle, startLevel);
}
}
public int getBundleStartLevel(Bundle bundle) {
StartLevel startLevelService = startLevelTracker.getService();
if (startLevelService != null) {
return startLevelService.getBundleStartLevel(bundle);
}
return -1;
}
}
Bundle-StartLevel: 5
org.osgi.framework.startlevel.beginning=5