/** * This method is called when a used handler factory disappears. This method is synchronized to * avoid concurrent calls to method modifying the factory state. * * @param reference the leaving service reference. * @param service the handler factory object. * @see * org.apache.felix.ipojo.util.TrackerCustomizer#removedService(org.osgi.framework.ServiceReference, * java.lang.Object) */ public synchronized void removedService(ServiceReference reference, Object service) { // Look for the implied reference and invalid the handler identifier for (Object m_requiredHandler : m_requiredHandlers) { RequiredHandler req = (RequiredHandler) m_requiredHandler; if (reference.equals(req.getReference())) { req.unRef(); // This method will unget the service. computeFactoryState(); return; // The factory can be used only once. } } }