/** * @param event event object containing the new component descriptor * @param descriptor the component descriptor removed from component manager */ private void componentAdded(ComponentDescriptorAddedEvent event, ComponentDescriptor<EventListener> descriptor) { try { EventListener eventListener = this.componentManager.lookup(EventListener.class, event.getRoleHint()); if (getListener(eventListener.getName()) != eventListener) { addListener(eventListener); } } catch (ComponentLookupException e) { this.logger.error("Failed to lookup event listener corresponding to the component registration event", e); } }
@Override public void notifyComponentRegistered(ComponentDescriptor<?> descriptor, ComponentManager componentManager) { notifyComponentEvent(new ComponentDescriptorAddedEvent(descriptor.getRoleType(), descriptor.getRoleHint()), descriptor, componentManager); }
/** * An Event Listener Component has been dynamically registered in the system, add it to our cache. * * @param event event object containing the new component descriptor * @param componentManager the {@link ComponentManager} where the descriptor is registered * @param descriptor the component descriptor removed from component manager */ private void onEventListenerComponentAdded(ComponentDescriptorAddedEvent event, ComponentManager componentManager, ComponentDescriptor<EventListener> descriptor) { try { EventListener eventListener = componentManager.getInstance(EventListener.class, event.getRoleHint()); if (getListener(eventListener.getName()) != eventListener) { addListener(eventListener); } else { this.logger.warn("An Event Listener named [{}] already exists, ignoring the [{}] component", eventListener.getName(), descriptor.getImplementation().getName()); } } catch (ComponentLookupException e) { this.logger.error("Failed to lookup the Event Listener [{}] corresponding to the Component registration " + "event for [{}]. Ignoring the event", new Object[] { event.getRoleHint(), descriptor.getImplementation().getName(), e }); } }
@Override public void notifyComponentRegistered(ComponentDescriptor<?> descriptor) { notifyComponentEvent(new ComponentDescriptorAddedEvent(descriptor.getRoleType(), descriptor.getRoleHint()), descriptor, null); }
/** * @param event event object containing the new component descriptor * @param descriptor the component descriptor removed from component manager */ private void componentAdded(ComponentDescriptorAddedEvent event, ComponentDescriptor<EventListener> descriptor) { try { EventListener eventListener = this.componentManager.lookup(EventListener.class, event.getRoleHint()); if (getListener(eventListener.getName()) != eventListener) { addListener(eventListener); } } catch (ComponentLookupException e) { getLogger().error("Failed to lookup event listener corresponding to the component registration event", e); } }