@Override public Channel getChannel(String name) throws Exception { LOG.debugv("getting JGroups channel named '{0}'", name); final ChannelFactory channelFactory = channelFactoryInjector.getOptionalValue(); if (channelFactory != null) { LOG.debugv("JGroups configured to use server subsystem stack"); // there is a cluster-stack attribute configured, so use that return channelFactory.createChannel(name); } // there is no cluster stack, so use a configured XML file String clusterConfig = repositoryConfiguration.getClustering().getConfiguration(); assert clusterConfig != null; LOG.debugv("reading JGroups config '{0}'", clusterConfig); InputStream configStream = new FileInputStream(clusterConfig); XmlConfigurator configurator = XmlConfigurator.getInstance(configStream); return new JChannel(configurator); }
@Test public void shouldNotEnableClusteringIfMissingDocument() throws Exception { RepositoryConfiguration config = RepositoryConfiguration.read("{ 'name' = 'nm', 'storage' : {}}"); RepositoryConfiguration.Clustering clusteringConfiguration = config.getClustering(); assertFalse(clusteringConfiguration.isEnabled()); }
@Test public void shouldAllowClusteringToBeConfigured() throws Exception { String clusterName = "testCluster"; String channelConfig = "someConfig"; RepositoryConfiguration config = RepositoryConfiguration.read("{ \"clustering\" : {\"clusterName\":\"" + clusterName + "\", \"configuration\": \"" + channelConfig + "\"} }"); RepositoryConfiguration.Clustering clusteringConfiguration = config.getClustering(); assertTrue(clusteringConfiguration.isEnabled()); assertEquals(clusterName, clusteringConfiguration.getClusterName()); assertEquals(channelConfig, clusteringConfiguration.getConfiguration()); }
@Test public void shouldUseDefaultClusteringValues() throws Exception { RepositoryConfiguration config = RepositoryConfiguration.read("{ \"clustering\" : {} }"); RepositoryConfiguration.Clustering clusteringConfiguration = config.getClustering(); assertTrue(clusteringConfiguration.isEnabled()); assertEquals(Default.CLUSTER_NAME, clusteringConfiguration.getClusterName()); assertEquals(Default.CLUSTER_CONFIG, clusteringConfiguration.getConfiguration()); }
this.connectors = new Connectors(this, config.getFederation(), problems); RepositoryConfiguration.Clustering clustering = config.getClustering(); long lockTimeoutMillis = config.getLockTimeoutMillis(); if (clustering.isEnabled()) {
this.connectors = new Connectors(this, config.getFederation(), problems); RepositoryConfiguration.Clustering clustering = config.getClustering(); long lockTimeoutMillis = config.getLockTimeoutMillis(); if (clustering.isEnabled()) {