private void initializeServiceMonitors() { // Load up an instance of each monitor from the config // so that the event processor will have them for // new incoming events to create pollable service objects. // LOG.debug("start: Loading monitors"); final Collection<ServiceMonitorLocator> locators = getServiceMonitorLocators(DistributionContext.DAEMON); for (final ServiceMonitorLocator locator : locators) { try { m_svcMonitors.put(locator.getServiceName(), locator.getServiceMonitor(s_serviceMonitorRegistry)); } catch (Throwable t) { LOG.warn("start: Failed to create monitor {} for service {}", locator.getServiceLocatorKey(), locator.getServiceName(), t); } } }
/** {@inheritDoc} */ @Override public void setServiceMonitorLocators(Collection<ServiceMonitorLocator> locators) { Map<String, ServiceMonitor> monitors = new HashMap<String, ServiceMonitor>(); for (ServiceMonitorLocator locator : locators) { monitors.put(locator.getServiceName(), locator.getServiceMonitor(s_serviceMonitorRegistry)); } m_monitors = monitors; }
/** {@inheritDoc} */ @Transactional(readOnly=true) @Override public Collection<ServiceMonitorLocator> getServiceMonitorLocators(final DistributionContext context) { try { final List<ServiceMonitorLocator> locators = new ArrayList<>(); final List<String> ex = Arrays.asList(System.getProperty("excludeServiceMonitorsFromRemotePoller", "").trim().split("\\s*,\\s*")); for (final ServiceMonitorLocator locator : m_pollerConfig.getServiceMonitorLocators(context)) { if (!ex.contains(locator.getServiceName())) { locators.add(locator); } } LOG.debug("getServiceMonitorLocators: Returning {} locators", locators.size()); return locators; } catch (final Exception e) { LOG.warn("An error occurred getting the service monitor locators for distribution context: {}", context, e); return Collections.emptyList(); } }
/** {@inheritDoc} */ @Override public void setServiceMonitorLocators(Collection<ServiceMonitorLocator> locators) { Map<String, ServiceMonitor> monitors = new HashMap<String, ServiceMonitor>(); for (ServiceMonitorLocator locator : locators) { monitors.put(locator.getServiceName(), locator.getServiceMonitor(s_serviceMonitorRegistry)); } m_monitors = monitors; }
/** {@inheritDoc} */ @Transactional(readOnly=true) @Override public Collection<ServiceMonitorLocator> getServiceMonitorLocators(final DistributionContext context) { try { final List<ServiceMonitorLocator> locators = new ArrayList<>(); final List<String> ex = Arrays.asList(System.getProperty("excludeServiceMonitorsFromRemotePoller", "").trim().split("\\s*,\\s*")); for (final ServiceMonitorLocator locator : m_pollerConfig.getServiceMonitorLocators(context)) { if (!ex.contains(locator.getServiceName())) { locators.add(locator); } } LOG.debug("getServiceMonitorLocators: Returning {} locators", locators.size()); return locators; } catch (final Exception e) { LOG.warn("An error occurred getting the service monitor locators for distribution context: {}", context, e); return Collections.emptyList(); } }