Class AbstractStaticFailoverStrategy

java.lang.Object
org.apache.cxf.clustering.AbstractStaticFailoverStrategy
All Implemented Interfaces:
FailoverStrategy
Direct Known Subclasses:
RandomStrategy, SequentialStrategy

public abstract class AbstractStaticFailoverStrategy extends Object implements FailoverStrategy
Failover strategy based on a static cluster represented by multiple endpoints associated with the same service instance.
  • Constructor Details

    • AbstractStaticFailoverStrategy

      public AbstractStaticFailoverStrategy()
  • Method Details

    • setDelayBetweenRetries

      public void setDelayBetweenRetries(long delay)
    • getDelayBetweenRetries

      public long getDelayBetweenRetries()
    • setAlternateAddresses

      public void setAlternateAddresses(List<String> alternateAddresses)
    • getAlternateAddresses

      public List<String> getAlternateAddresses(org.apache.cxf.message.Exchange exchange)
      Get the alternate addresses for this invocation.
      Specified by:
      getAlternateAddresses in interface FailoverStrategy
      Parameters:
      exchange - the current Exchange
      Returns:
      a List of alternate addresses if available
    • selectAlternateAddress

      public String selectAlternateAddress(List<String> alternates)
      Select one of the alternate addresses for a retried invocation.
      Specified by:
      selectAlternateAddress in interface FailoverStrategy
      Parameters:
      alternates - a List of alternate addresses if available
      Returns:
      the selected address or null if no alternate address is available
    • getAlternateEndpoints

      public List<org.apache.cxf.endpoint.Endpoint> getAlternateEndpoints(org.apache.cxf.message.Exchange exchange)
      Get the alternate endpoints for this invocation.
      Specified by:
      getAlternateEndpoints in interface FailoverStrategy
      Parameters:
      exchange - the current Exchange
      Returns:
      a List of alternate endpoints if available
    • selectAlternateEndpoint

      public org.apache.cxf.endpoint.Endpoint selectAlternateEndpoint(List<org.apache.cxf.endpoint.Endpoint> alternates)
      Select one of the alternate endpoints for a retried invocation.
      Specified by:
      selectAlternateEndpoint in interface FailoverStrategy
      Parameters:
      alternates - a List of alternate endpoints if available
      Returns:
      the selected endpoint or null if no alternate endpoint is available
    • getEndpoints

      protected List<org.apache.cxf.endpoint.Endpoint> getEndpoints(org.apache.cxf.message.Exchange exchange, boolean acceptCandidatesWithSameAddress)
      Get the endpoints for this invocation.
      Parameters:
      exchange - the current Exchange
      acceptCandidatesWithSameAddress - true to accept candidates with the same address
      Returns:
      a List of alternate endpoints if available
    • getNextAlternate

      protected abstract <T> T getNextAlternate(List<T> alternates)
      Get next alternate endpoint.
      Parameters:
      alternates - non-empty List of alternate endpoints
      Returns:
    • getLogLevel

      protected Level getLogLevel()
      Get the log level for reporting the selection of the new alternative address or endpoint
      Returns:
      the log level