/** * Callback when a {@link SettingSpecifierProvider} has been un-registered. * * @param config the configuration object * @param properties the service properties */ public void onUnbind(SettingSpecifierProvider provider, Map<String, ?> properties) { if (provider == null) { // gemini blueprint calls this when availability="optional" and there are no services return; } log.debug("Unbind called on {} with props {}", provider, properties); final String pid = provider.getSettingUID(); synchronized (factories) { FactoryHelper helper = factories.get(pid); if (helper != null) { helper.removeProvider(provider); return; } } synchronized (providers) { providers.remove(pid); } }