in src/main/java/org/apache/sling/extensions/mdc/internal/MDCInsertingFilter.java [163:184]
private void activate(BundleContext context, Config config) {
final Dictionary<String, Object> properties = new Hashtable<>();
properties.put("filter.scope", "REQUEST");
//The MDC Filter might be running in a non Sling container. Hence, to avoid
//direct dependency on Sling we use a ServiceFactory
filterReg = context.registerService(Filter.class.getName(),new ServiceFactory() {
private Object instance;
public synchronized Object getService(Bundle bundle, ServiceRegistration serviceRegistration) {
if(instance == null){
instance = new SlingMDCFilter();
}
return instance;
}
public void ungetService(Bundle bundle, ServiceRegistration serviceRegistration, Object o) {
}
}, properties);
modified(config);
}