joinConfig.getTcpIpConfig().setMembers(requireNonNull(members, "Members are missing")); config.getPartitionGroupConfig().setEnabled(false);
private static Config finalizeConfig(final Config config, final BaseHazelcastProperties hz) { if (StringUtils.hasText(hz.getCluster().getPartitionMemberGroupType())) { val partitionGroupConfig = config.getPartitionGroupConfig(); val type = PartitionGroupConfig.MemberGroupType.valueOf( hz.getCluster().getPartitionMemberGroupType().toUpperCase()); LOGGER.debug("Using partition member group type [{}]", type); partitionGroupConfig.setEnabled(true).setGroupType(type); } return config; }
public static MemberGroupFactory newMemberGroupFactory(PartitionGroupConfig partitionGroupConfig, DiscoveryService discoveryService) { PartitionGroupConfig.MemberGroupType memberGroupType; if (partitionGroupConfig == null || !partitionGroupConfig.isEnabled()) { memberGroupType = PartitionGroupConfig.MemberGroupType.PER_MEMBER; } else { memberGroupType = partitionGroupConfig.getGroupType(); } switch (memberGroupType) { case HOST_AWARE: return new HostAwareMemberGroupFactory(); case CUSTOM: return new ConfigMemberGroupFactory(partitionGroupConfig.getMemberGroupConfigs()); case PER_MEMBER: return new SingleMemberGroupFactory(); case ZONE_AWARE: return new ZoneAwareMemberGroupFactory(); case SPI: return new SPIAwareMemberGroupFactory(discoveryService); default: throw new RuntimeException("Unknown MemberGroupType:" + memberGroupType); } } }
public ConfigCheck(Config config, String joinerType) { this.joinerType = joinerType; // Copying all properties relevant for checking properties.put(PARTITION_COUNT.getName(), config.getProperty(PARTITION_COUNT.getName())); properties.put(APPLICATION_VALIDATION_TOKEN.getName(), config.getProperty(APPLICATION_VALIDATION_TOKEN.getName())); // Copying group-config settings GroupConfig groupConfig = config.getGroupConfig(); if (groupConfig != null) { this.groupName = groupConfig.getName(); } // Partition-group settings final PartitionGroupConfig partitionGroupConfig = config.getPartitionGroupConfig(); if (partitionGroupConfig != null) { partitionGroupEnabled = partitionGroupConfig.isEnabled(); if (partitionGroupEnabled) { memberGroupType = partitionGroupConfig.getGroupType(); } else { memberGroupType = PartitionGroupConfig.MemberGroupType.PER_MEMBER; } } }
private void handleMemberGroup(Node node) { MemberGroupConfig memberGroupConfig = new MemberGroupConfig(); for (Node child : childElements(node)) { if ("interface".equals(cleanNodeName(child))) { String value = getTextContent(child); memberGroupConfig.addInterface(value); } } config.getPartitionGroupConfig().addMemberGroupConfig(memberGroupConfig); }
private void handlePartitionGroup(Node node) { NamedNodeMap attributes = node.getAttributes(); Node enabledNode = attributes.getNamedItem("enabled"); boolean enabled = enabledNode != null && getBooleanValue(getTextContent(enabledNode)); config.getPartitionGroupConfig().setEnabled(enabled); Node groupTypeNode = attributes.getNamedItem("group-type"); PartitionGroupConfig.MemberGroupType groupType = groupTypeNode != null ? PartitionGroupConfig.MemberGroupType.valueOf(upperCaseInternal(getTextContent(groupTypeNode))) : PartitionGroupConfig.MemberGroupType.PER_MEMBER; config.getPartitionGroupConfig().setGroupType(groupType); for (Node child : childElements(node)) { if ("member-group".equals(cleanNodeName(child))) { handleMemberGroup(child); } } }
public static MemberGroupFactory newMemberGroupFactory(PartitionGroupConfig partitionGroupConfig, DiscoveryService discoveryService) { PartitionGroupConfig.MemberGroupType memberGroupType; if (partitionGroupConfig == null || !partitionGroupConfig.isEnabled()) { memberGroupType = PartitionGroupConfig.MemberGroupType.PER_MEMBER; } else { memberGroupType = partitionGroupConfig.getGroupType(); } switch (memberGroupType) { case HOST_AWARE: return new HostAwareMemberGroupFactory(); case CUSTOM: return new ConfigMemberGroupFactory(partitionGroupConfig.getMemberGroupConfigs()); case PER_MEMBER: return new SingleMemberGroupFactory(); case ZONE_AWARE: return new ZoneAwareMemberGroupFactory(); case SPI: return new SPIAwareMemberGroupFactory(discoveryService); default: throw new RuntimeException("Unknown MemberGroupType:" + memberGroupType); } } }
public ConfigCheck(Config config, String joinerType) { this.joinerType = joinerType; // Copying all properties relevant for checking properties.put(PARTITION_COUNT.getName(), config.getProperty(PARTITION_COUNT.getName())); properties.put(APPLICATION_VALIDATION_TOKEN.getName(), config.getProperty(APPLICATION_VALIDATION_TOKEN.getName())); // Copying group-config settings GroupConfig groupConfig = config.getGroupConfig(); if (groupConfig != null) { this.groupName = groupConfig.getName(); } // Partition-group settings final PartitionGroupConfig partitionGroupConfig = config.getPartitionGroupConfig(); if (partitionGroupConfig != null) { partitionGroupEnabled = partitionGroupConfig.isEnabled(); if (partitionGroupEnabled) { memberGroupType = partitionGroupConfig.getGroupType(); } else { memberGroupType = PartitionGroupConfig.MemberGroupType.PER_MEMBER; } } }
private void handleMemberGroup(Node node) { MemberGroupConfig memberGroupConfig = new MemberGroupConfig(); for (Node child : childElements(node)) { if ("interface".equals(cleanNodeName(child))) { String value = getTextContent(child); memberGroupConfig.addInterface(value); } } config.getPartitionGroupConfig().addMemberGroupConfig(memberGroupConfig); }
private void handlePartitionGroup(Node node) { NamedNodeMap attributes = node.getAttributes(); Node enabledNode = attributes.getNamedItem("enabled"); boolean enabled = enabledNode != null && getBooleanValue(getTextContent(enabledNode)); config.getPartitionGroupConfig().setEnabled(enabled); Node groupTypeNode = attributes.getNamedItem("group-type"); MemberGroupType groupType = groupTypeNode != null ? MemberGroupType.valueOf(upperCaseInternal(getTextContent(groupTypeNode))) : MemberGroupType.PER_MEMBER; config.getPartitionGroupConfig().setGroupType(groupType); for (Node child : childElements(node)) { if ("member-group".equals(cleanNodeName(child))) { handleMemberGroup(child); } } }
private static void partitionGroupXmlGenerator(XmlGenerator gen, Config config) { PartitionGroupConfig pg = config.getPartitionGroupConfig(); if (pg == null) { return; } gen.open("partition-group", "enabled", pg.isEnabled(), "group-type", pg.getGroupType()); Collection<MemberGroupConfig> configs = pg.getMemberGroupConfigs(); if (CollectionUtil.isNotEmpty(configs)) { for (MemberGroupConfig mgConfig : configs) { gen.open("member-group"); for (String iface : mgConfig.getInterfaces()) { gen.node("interface", iface); } gen.close(); } } gen.close(); }
.setEnabled(true) .setGroupType(ZONE_AWARE);
private static void partitionGroupXmlGenerator(XmlGenerator gen, Config config) { PartitionGroupConfig pg = config.getPartitionGroupConfig(); if (pg == null) { return; } gen.open("partition-group", "enabled", pg.isEnabled(), "group-type", pg.getGroupType()); Collection<MemberGroupConfig> configs = pg.getMemberGroupConfigs(); if (CollectionUtil.isNotEmpty(configs)) { for (MemberGroupConfig mgConfig : configs) { gen.open("member-group"); for (String iface : mgConfig.getInterfaces()) { gen.node("interface", iface); } gen.close(); } } gen.close(); }