{
ServiceReference[] sRefs = context.getServiceReferences(IFilterFactory.class.getName(), null);
if (sRefs != null) {
for (ServiceReference sRef : sRefs) {
IFilterFactory service = (IFilterFactory) context.getService(sRef);
PluggableFilter.registerFilter(service);
}
}
//use a service tracker to be called back when the IFilterFactory is ready:
ServiceTrackerCustomizer cust = new ServiceTrackerCustomizer() {
public void removedService(ServiceReference reference, Object service) {
//special servlet shutdown
}
public void modifiedService(ServiceReference reference, Object service) {
//reload?
}
public Object addingService(ServiceReference reference) {
IFilterFactory service = (IFilterFactory) context.getService(reference);
PluggableFilter.registerFilter(service);
return service;
}
};
ServiceTracker tracker = new ServiceTracker(context,