private void activate()

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);
    }