in src/main/java/org/apache/sling/installer/provider/installhook/OsgiInstallerHook.java [424:441]
private void waitForServiceChanges(int waitForOsgiEventsQuietInSec) {
if (waitForOsgiEventsQuietInSec <= 0) {
return;
}
InstallerHookOsgiEventListener osgiListener = new InstallerHookOsgiEventListener();
BundleContext bundleContext = getBundleContext();
bundleContext.addServiceListener(osgiListener);
bundleContext.addBundleListener(osgiListener);
long waitStart = System.currentTimeMillis();
osgiListener.waitUntilQuiet(waitForOsgiEventsQuietInSec);
logger.log("Waited " + (System.currentTimeMillis() - waitStart) + "ms in total for OSGi events to become quiet (for at least "
+ waitForOsgiEventsQuietInSec + "sec)");
bundleContext.removeServiceListener(osgiListener);
bundleContext.removeBundleListener(osgiListener);
}