RelayConfig.SiteConfig siteConfig = new RelayConfig.SiteConfig(site); protocol.addSite(site, siteConfig); if (site.equals(localSite)) { for (RelayConfig.BridgeConfig bridge: bridges.values()) { siteConfig.addBridge(bridge);
protected static void parseForwards(SiteConfig site_config, Node root) throws Exception { NodeList children=root.getChildNodes(); if(children == null || children.getLength() == 0) return; for(int i=0; i < children.getLength(); i++) { Node node=children.item(i); if(node.getNodeType() != Node.ELEMENT_NODE) continue; String node_name=node.getNodeName(); match(FORWARD, node_name, true); NamedNodeMap attrs=node.getAttributes(); if(attrs == null || attrs.getLength() == 0) continue; Attr to_attr=(Attr)attrs.getNamedItem("to"); Attr gw_attr=(Attr)attrs.getNamedItem("gateway"); String to=to_attr.getValue(); String gateway=gw_attr.getValue(); ForwardConfig forward_config=new ForwardConfig(to, gateway); site_config.addForward(forward_config); } }
log.trace(local_addr + ": site configuration:\n" + site_config); if(!site_config.getForwards().isEmpty()) log.warn(local_addr + ": forwarding routes are currently not supported and will be ignored. This will change " + "with hierarchical routing (https://issues.jboss.org/browse/JGRP-1506)");
relay.setRouteStatusListener(new DefaultRouteStatusListener()); for (String site: sites) { RelayConfig.SiteConfig siteConfig = new RelayConfig.SiteConfig(site); relay.addSite(site, siteConfig); if (site.equals(localSite)) { for (RelayConfig.BridgeConfig bridge: bridges.values()) { siteConfig.addBridge(bridge);
log.trace(local_addr + ": site configuration:\n" + site_config); if(!site_config.getForwards().isEmpty()) log.warn(local_addr + ": forwarding routes are currently not supported and will be ignored. This will change " + "with hierarchical routing (https://issues.jboss.org/browse/JGRP-1506)");
RelayConfig.SiteConfig siteConfig = new RelayConfig.SiteConfig(site); protocol.addSite(site, siteConfig); if (site.equals(localSite)) { for (RelayConfig.BridgeConfig bridge: bridges.values()) { siteConfig.addBridge(bridge);
protected static void parseBridges(SiteConfig site_config, Node root) throws Exception { NodeList children=root.getChildNodes(); if(children == null || children.getLength() == 0) return; for(int i=0; i < children.getLength(); i++) { Node node=children.item(i); if(node.getNodeType() != Node.ELEMENT_NODE) continue; String node_name=node.getNodeName(); match(BRIDGE, node_name, true); NamedNodeMap attrs=node.getAttributes(); if(attrs == null || attrs.getLength() == 0) continue; Attr name_attr=(Attr)attrs.getNamedItem("name"); Attr config_attr=(Attr)attrs.getNamedItem("config"); String name=name_attr != null? name_attr.getValue() : null; String config=config_attr.getValue(); BridgeConfig bridge_config=new PropertiesBridgeConfig(name, config); site_config.addBridge(bridge_config); } }
protected static void parseSites(final Map<String,SiteConfig> map, Node root) throws Exception { NodeList children=root.getChildNodes(); if(children == null || children.getLength() == 0) return; for(int i=0; i < children.getLength(); i++) { Node node=children.item(i); if(node.getNodeType() != Node.ELEMENT_NODE) continue; match(SITE, node.getNodeName(), true); NamedNodeMap attrs=node.getAttributes(); if(attrs == null || attrs.getLength() == 0) continue; Attr name_attr=(Attr)attrs.getNamedItem("name"); String name=name_attr.getValue(); if(map.containsKey(name)) throw new Exception("Site \"" + name + "\" already defined"); SiteConfig site_config=new SiteConfig(name); map.put(name, site_config); parseBridgesAndForwards(site_config, node); } }
protected static void parseForwards(SiteConfig site_config, Node root) throws Exception { NodeList children=root.getChildNodes(); if(children == null || children.getLength() == 0) return; for(int i=0; i < children.getLength(); i++) { Node node=children.item(i); if(node.getNodeType() != Node.ELEMENT_NODE) continue; String node_name=node.getNodeName(); match(FORWARD, node_name, true); NamedNodeMap attrs=node.getAttributes(); if(attrs == null || attrs.getLength() == 0) continue; Attr to_attr=(Attr)attrs.getNamedItem("to"); Attr gw_attr=(Attr)attrs.getNamedItem("gateway"); String to=to_attr.getValue(); String gateway=gw_attr.getValue(); ForwardConfig forward_config=new ForwardConfig(to, gateway); site_config.addForward(forward_config); } }
@Override protected void parseSiteConfiguration(Map<String, RelayConfig.SiteConfig> map) throws Exception { super.parseSiteConfiguration(map); String testName = TestResourceTracker.getCurrentTestName(); map.forEach((s, siteConfig) -> { List<RelayConfig.BridgeConfig> bridges = siteConfig.getBridges(); for (int i = 0; i < bridges.size(); i++) { RelayConfig.BridgeConfig bridgeConfig = bridges.get(i); String config = (String) TestingUtil.extractField(RelayConfig.PropertiesBridgeConfig.class, bridgeConfig, "config"); // Keep the same ports for all the tests, just change the cluster name String clusterName = "bridge-" + (testName != null ? testName : "namenotset"); bridges.set(i, new RelayConfig.PropertiesBridgeConfig(clusterName, config)); } }); } }
protected void startRelayer(Relayer rel, String bridge_name) { try { log.trace(local_addr + ": became site master; starting bridges"); rel.start(site_config.getBridges(), bridge_name, site); } catch(Throwable t) { log.error(local_addr + ": failed starting relayer", t); } }
protected static void parseBridges(SiteConfig site_config, Node root) throws Exception { NodeList children=root.getChildNodes(); if(children == null || children.getLength() == 0) return; for(int i=0; i < children.getLength(); i++) { Node node=children.item(i); if(node.getNodeType() != Node.ELEMENT_NODE) continue; String node_name=node.getNodeName(); match(BRIDGE, node_name, true); NamedNodeMap attrs=node.getAttributes(); if(attrs == null || attrs.getLength() == 0) continue; Attr name_attr=(Attr)attrs.getNamedItem("name"); Attr config_attr=(Attr)attrs.getNamedItem("config"); String name=name_attr != null? name_attr.getValue() : null; String config=config_attr.getValue(); BridgeConfig bridge_config=new PropertiesBridgeConfig(name, config); site_config.addBridge(bridge_config); } }
protected static void parseSites(final Map<String,SiteConfig> map, Node root) throws Exception { NodeList children=root.getChildNodes(); if(children == null || children.getLength() == 0) return; for(int i=0; i < children.getLength(); i++) { Node node=children.item(i); if(node.getNodeType() != Node.ELEMENT_NODE) continue; match(SITE, node.getNodeName(), true); NamedNodeMap attrs=node.getAttributes(); if(attrs == null || attrs.getLength() == 0) continue; Attr name_attr=(Attr)attrs.getNamedItem("name"); String name=name_attr.getValue(); if(map.containsKey(name)) throw new Exception("Site \"" + name + "\" already defined"); SiteConfig site_config=new SiteConfig(name); map.put(name, site_config); parseBridgesAndForwards(site_config, node); } }
protected void startRelayer(Relayer rel, String bridge_name) { try { log.trace(local_addr + ": became site master; starting bridges"); rel.start(site_config.getBridges(), bridge_name, site); } catch(Throwable t) { log.error(local_addr + ": failed starting relayer", t); } }