public static Collection<Instance> instances() { try { return PluginsFactory.getInstanceDiscovery().getInstanceList(); } catch (Exception err) { LOGGER.warn("Could not fetch clusters dynamically", err); } return ImmutableList.of(); }
public static void registerClusters(Collection<String> clusterNames, String instanceUrlSuffix) { final AbstractConfiguration configurationManager = ConfigurationManager.getConfigInstance(); configurationManager.setProperty(InstanceDiscovery.TURBINE_AGGREGATOR_CLUSTER_CONFIG, Joiner.on(',').join(clusterNames)); configurationManager.setProperty("turbine.instanceUrlSuffix", instanceUrlSuffix); final ClusterMonitorFactory<?> clusterMonitorFactory = PluginsFactory.getClusterMonitorFactory(); if (clusterMonitorFactory != null) { try { clusterMonitorFactory.initClusterMonitors(); } catch (Exception err) { LOGGER.error("Trouble initializing cluster monitors", err); } } } }
private static void setupInstanceDiscovery(BreakerboxServiceConfiguration configuration, Environment environment) { final Optional<InstanceDiscovery> customInstanceDiscovery = createInstanceDiscovery(configuration, environment); if (customInstanceDiscovery.isPresent()) { if(configuration.getHystrixStreamSuffix().isPresent()){ PluginsFactory.setInstanceDiscovery(RegisterClustersInstanceDiscoveryWrapper.wrap( customInstanceDiscovery.get(),configuration.getHystrixStreamSuffix().get())); } else { PluginsFactory.setInstanceDiscovery(RegisterClustersInstanceDiscoveryWrapper.wrap( customInstanceDiscovery.get())); } } else { final YamlInstanceDiscovery yamlInstanceDiscovery = new YamlInstanceDiscovery( configuration.getTurbine(), environment.getValidator(), environment.getObjectMapper()); PluginsFactory.setInstanceDiscovery(RegisterClustersInstanceDiscoveryWrapper.wrap(yamlInstanceDiscovery)); } }