protected final JChannel init(ProtocolStackConfigurator configurator) throws Exception { List<ProtocolConfiguration> configs=configurator.getProtocolStack(); // replace vars with system props configs.forEach(ProtocolConfiguration::substituteVariables); prot_stack=new ProtocolStack(this); prot_stack.setup(configs); // Setup protocol stack (creates protocol, calls init() on them) return this; }
protected final void init(ProtocolStackConfigurator configurator) throws ChannelException { if(log.isInfoEnabled()) log.info("JGroups version: " + Version.description); ConfiguratorFactory.substituteVariables(configurator); // replace vars with system props props=configurator.getProtocolStackString(); prot_stack=new ProtocolStack(this, props); try { prot_stack.setup(); // Setup protocol stack (create layers, queues between them } catch(Throwable e) { throw new ChannelException("unable to setup the protocol stack", e); } }
throw new JGroupsClusterViewManagerException("Cannot get the JGroups stack", e); stack = protocolStackConfigurator.getProtocolStackString();
@Override public ProtocolDefaults get() { ProtocolStackConfigurator configurator = load(ProtocolDefaultsServiceConfigurator.this.resource); try { for (org.jgroups.conf.ProtocolConfiguration config: configurator.getProtocolStack()) { String protocolClassName = String.join(".", org.jgroups.conf.ProtocolConfiguration.protocol_prefix, config.getProtocolName()); Class<? extends Protocol> protocolClass = Protocol.class.getClassLoader().loadClass(protocolClassName).asSubclass(Protocol.class); this.map.put(protocolClass, Collections.unmodifiableMap(config.getProperties())); } return this; } catch (ClassNotFoundException e) { throw new IllegalArgumentException(e); } }
GlobalConfigurationBuilder gcb = new GlobalConfigurationBuilder(); gcb.transport().defaultTransport().nodeName(nodeName) .addProperty(JGroupsTransport.CONFIGURATION_STRING, configurator.getProtocolStackString()); BlockingThreadPoolExecutorFactory transportExecutorFactory = new BlockingThreadPoolExecutorFactory( TRANSPORT_MAX_THREADS, TRANSPORT_MAX_THREADS, TRANSPORT_QUEUE_SIZE, 60000);
/** * Replace variables of the form ${var:default} with the getProperty(var, * default) * * @param configurator */ public static void substituteVariables(ProtocolStackConfigurator configurator) { List<ProtocolConfiguration> protocols=configurator.getProtocolStack(); protocols.stream().filter(data -> data != null).forEach(data -> { Map<String,String> parms=data.getProperties(); for(Map.Entry<String,String> entry : parms.entrySet()) { String val=entry.getValue(); String replacement=Util.substituteVariable(val); if(!replacement.equals(val)) { entry.setValue(replacement); } } }); } }
@Override public ProtocolDefaults get() { ProtocolStackConfigurator configurator = load(ProtocolDefaultsServiceConfigurator.this.resource); try { for (org.jgroups.conf.ProtocolConfiguration config: configurator.getProtocolStack()) { String protocolClassName = String.join(".", org.jgroups.conf.ProtocolConfiguration.protocol_prefix, config.getProtocolName()); Class<? extends Protocol> protocolClass = Protocol.class.getClassLoader().loadClass(protocolClassName).asSubclass(Protocol.class); this.map.put(protocolClass, Collections.unmodifiableMap(config.getProperties())); } return this; } catch (ClassNotFoundException e) { throw new IllegalArgumentException(e); } }
protected final JChannel init(ProtocolStackConfigurator configurator) throws Exception { List<ProtocolConfiguration> configs=configurator.getProtocolStack(); // replace vars with system props configs.forEach(ProtocolConfiguration::substituteVariables); prot_stack=new ProtocolStack(this); prot_stack.setup(configs); // Setup protocol stack (creates protocol, calls init() on them) return this; }
/** * Replace variables of the form ${var:default} with the getProperty(var, * default) * * @param configurator */ public static void substituteVariables(ProtocolStackConfigurator configurator) { List<ProtocolConfiguration> protocols=configurator.getProtocolStack(); protocols.stream().filter(data -> data != null).forEach(data -> { Map<String,String> parms=data.getProperties(); for(Map.Entry<String,String> entry : parms.entrySet()) { String val=entry.getValue(); String replacement=Util.substituteVariable(val); if(!replacement.equals(val)) { entry.setValue(replacement); } } }); } }
/** * {@inheritDoc} * @see org.jboss.msc.value.Value#getValue() */ @Override public ProtocolDefaults getValue() { ProtocolStackConfigurator configurator = load(ProtocolDefaultsBuilder.this.resource); for (org.jgroups.conf.ProtocolConfiguration config: configurator.getProtocolStack()) { this.map.put(config.getProtocolName(), Collections.unmodifiableMap(config.getProperties())); } return this; }
protocols=configurator.getProtocolStack();
/** * {@inheritDoc} * @see org.jboss.msc.service.Service#start(org.jboss.msc.service.StartContext) */ @Override public void start(final StartContext context) throws StartException { ProtocolStackConfigurator configurator = load(ProtocolDefaultsService.this.resource); Defaults defaults = new Defaults(); for (org.jgroups.conf.ProtocolConfiguration config: configurator.getProtocolStack()) { defaults.add(config.getProtocolName(), config.getProperties()); } ProtocolDefaultsService.this.defaults = defaults; }
ProtocolConfiguration udpConfiguration = configurator.getProtocolStack().get(0); assertEquals("UDP", udpConfiguration.getProtocolName()); udpConfiguration.getProperties().put("mcast_addr", "224.0.0.15"); udpConfiguration.getProperties().put("thread_pool.min_threads", "0"); udpConfiguration.getProperties().put("thread_pool.max_threads", String.valueOf(JGROUPS_MAX_THREADS)); ProtocolConfiguration gmsConfiguration = configurator.getProtocolStack().get(9); assertEquals("pbcast.GMS", gmsConfiguration.getProtocolName()); gmsConfiguration.getProperties().put("join_timeout", "5000");
public static String getUdpConfig(String fullTestName, TransportFlags flags) { JGroupsProtocolCfg jgroupsCfg = getJGroupsProtocolCfg(udpConfigurator.getProtocolStack()); if (!flags.withFD()) removeFailureDetection(jgroupsCfg); if (!flags.withMerge()) removeMerge(jgroupsCfg); if (!flags.isRelayRequired()) { removeRelay2(jgroupsCfg); } if (jgroupsCfg.containsProtocol(TEST_PING)) { if (fullTestName != null) return getTestPingDiscovery(fullTestName, jgroupsCfg); // Cmd line test run } return replaceMCastAddressAndPort(jgroupsCfg); }
public static String getTcpConfig(String fullTestName, TransportFlags flags) { // With the XML already parsed, make a safe copy of the // protocol stack configurator and use that accordingly. JGroupsProtocolCfg jgroupsCfg = getJGroupsProtocolCfg(tcpConfigurator.getProtocolStack()); if (!flags.withFD()) removeFailureDetection(jgroupsCfg); if (!flags.isRelayRequired()) { removeRelay2(jgroupsCfg); } else { ProtocolConfiguration protocol = jgroupsCfg.getProtocol(TEST_RELAY2); protocol.getProperties().put("site", flags.siteName()); if (flags.relayConfig() != null) //if not specified, use default protocol.getProperties().put("config", flags.relayConfig()); } if (!flags.withMerge()) removeMerge(jgroupsCfg); if (jgroupsCfg.containsProtocol(TEST_PING)) { replaceTcpStartPort(jgroupsCfg, flags); if (fullTestName == null) return jgroupsCfg.toString(); // IDE run of test else return getTestPingDiscovery(fullTestName, jgroupsCfg); // Cmd line test run } else { return replaceMCastAddressAndPort(jgroupsCfg); } }