@Override protected void initEnrichers() { super.initEnrichers(); // check states and upness separately so they can be individually replaced if desired // problem if any children or members are on fire enrichers().add(ServiceStateLogic.newEnricherFromChildrenState() .checkChildrenOnly() .requireRunningChildren(getConfig(RUNNING_QUORUM_CHECK)) .suppressDuplicates(true)); // defaults to requiring at least one member or child who is up enrichers().add(ServiceStateLogic.newEnricherFromChildrenUp() .checkChildrenOnly() .requireUpChildren(getConfig(UP_QUORUM_CHECK)) .suppressDuplicates(true)); }
@Override protected void initEnrichers() { if (config().getLocalRaw(UP_QUORUM_CHECK).isAbsent()) { config().set(UP_QUORUM_CHECK, QuorumChecks.newInstance(2, 1.0, false)); } super.initEnrichers(); ServiceStateLogic.newEnricherFromChildrenUp().checkChildrenOnly().requireUpChildren(getConfig(UP_QUORUM_CHECK)).addTo(this); }
/** as {@link #newEnricherFromChildren()} but only publishing service not-up indicators, * using a different unique tag ({@link ComputeServiceIndicatorsFromChildrenAndMembers#DEFAULT_UNIQUE_TAG_UP}), * listening to children only, ignoring lifecycle/service-state, * and using the same logic * (viz looking only at children (not members) and requiring either no children or at least one child up) by default */ public static ComputeServiceIndicatorsFromChildrenAndMembersSpec newEnricherFromChildrenUp() { return newEnricherFromChildren() .uniqueTag(ComputeServiceIndicatorsFromChildrenAndMembers.DEFAULT_UNIQUE_TAG_UP) .checkChildrenOnly() .configure(ComputeServiceIndicatorsFromChildrenAndMembers.DERIVE_SERVICE_PROBLEMS, false); }
@Override protected void initEnrichers() { super.initEnrichers(); // all children must be up, for ourselves to be up enrichers().add(ServiceStateLogic.newEnricherFromChildrenUp() .checkChildrenOnly() .requireUpChildren(QuorumCheck.QuorumChecks.all())); }
@Override protected void initEnrichers() { super.initEnrichers(); enrichers().add(ServiceStateLogic.newEnricherFromChildrenUp() .checkChildrenOnly() .requireUpChildren(QuorumCheck.QuorumChecks.all()) .suppressDuplicates(true)); }