package org.apache.cxf.clustering; import java.util.List; import org.apache.cxf.common.injection.NoJSR250Annotations; import org.apache.cxf.endpoint.ConduitSelector; import org.apache.cxf.endpoint.Endpoint; @NoJSR250Annotations public class CircuitSwitcherClusteringFeature extends FailoverFeature { private List<String> addressList; private long resetTimeout; private int failureThreshold; private Long receiveTimeout; @Override public FailoverTargetSelector getTargetSelector() { return new CircuitSwitcherTargetSelector(addressList, resetTimeout, failureThreshold, receiveTimeout); } @Override protected ConduitSelector initTargetSelector(Endpoint endpoint) { CircuitSwitcherTargetSelector selector = (CircuitSwitcherTargetSelector) getTargetSelector(); selector.setEndpoint(endpoint); return selector; } public void setAddressList(List<String> addressList) { this.addressList = addressList; } public void setResetTimeout(long resetTimeout) { this.resetTimeout = resetTimeout; } public void setFailureThreshold(int failureThreshold) { this.failureThreshold = failureThreshold; } public void setReceiveTimeout(Long receiveTimeout) { this.receiveTimeout = receiveTimeout; } }