AbstractMultiServerCluster(final ClusterId clusterId, final ClusterSettings settings, final ClusterableServerFactory serverFactory) { super(clusterId, settings, serverFactory); isTrue("connection mode is multiple", settings.getMode() == ClusterConnectionMode.MULTIPLE); clusterType = settings.getRequiredClusterType(); replicaSetName = settings.getRequiredReplicaSetName(); if (LOGGER.isInfoEnabled()) { LOGGER.info(format("Cluster created with settings %s", settings.getShortDescription())); } }
@Override public void serverDescriptionChanged(final ServerDescriptionChangedEvent event) { ServerDescription descriptionToPublish = event.getNewDescription(); if (event.getNewDescription().isOk()) { if (getSettings().getRequiredClusterType() != ClusterType.UNKNOWN && getSettings().getRequiredClusterType() != event.getNewDescription().getClusterType()) { descriptionToPublish = null; } else if (getSettings().getRequiredClusterType() == ClusterType.REPLICA_SET && getSettings().getRequiredReplicaSetName() != null) { if (!getSettings().getRequiredReplicaSetName().equals(event.getNewDescription().getSetName())) { descriptionToPublish = null; } } } publishDescription(descriptionToPublish); } }
AbstractMultiServerCluster(final ClusterId clusterId, final ClusterSettings settings, final ClusterableServerFactory serverFactory) { super(clusterId, settings, serverFactory); isTrue("connection mode is multiple", settings.getMode() == ClusterConnectionMode.MULTIPLE); clusterType = settings.getRequiredClusterType(); replicaSetName = settings.getRequiredReplicaSetName(); if (LOGGER.isInfoEnabled()) { LOGGER.info(format("Cluster created with settings %s", settings.getShortDescription())); } }
@Override public void serverDescriptionChanged(final ServerDescriptionChangedEvent event) { ServerDescription descriptionToPublish = event.getNewDescription(); if (event.getNewDescription().isOk()) { if (getSettings().getRequiredClusterType() != ClusterType.UNKNOWN && getSettings().getRequiredClusterType() != event.getNewDescription().getClusterType()) { descriptionToPublish = null; } else if (getSettings().getRequiredClusterType() == ClusterType.REPLICA_SET && getSettings().getRequiredReplicaSetName() != null) { if (!getSettings().getRequiredReplicaSetName().equals(event.getNewDescription().getSetName())) { descriptionToPublish = null; } } } publishDescription(descriptionToPublish); } }