Class AMQPFederationConfiguration

java.lang.Object
org.apache.activemq.artemis.protocol.amqp.connect.federation.AMQPFederationConfiguration

public final class AMQPFederationConfiguration extends Object
A configuration class that contains API for getting federation specific configuration either from a Map of configuration elements or from the connection associated with the federation instance, or possibly from a set default value.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Default timeout (milliseconds) applied to federation address receivers that have been stopped due to lack of local demand.
    static final boolean
    Default value for the core message tunneling feature that indicates if core protocol messages should be streamed as binary blobs as the payload of an custom AMQP message which avoids any conversions of the messages to / from AMQP.
    static final boolean
    Default value for the filtering applied to federation address consumers that controls if the filter specified by an address binding is used or if the filters are ignored and a single conduit type subscription is used for all messages sent to the remote address.
    static final boolean
    Default value for the filtering applied to federation queue consumers that controls if the filter specified by a consumer subscription is used or if the higher level queue filter only is applied when creating a federation queue consumer.
    static final boolean
    Default value for the priority applied to federation queue consumers that controls if the priority specified by a consumer subscription is used or if the policy priority offset value is simply applied to the default consumer priority value.
    static final int
    Default timeout value (in seconds) used to control when a link attach is considered to have failed due to not responding to an attach request.
    static final int
    Default credits granted to a receiver that is in pull mode.
    static final int
    Default timeout (milliseconds) applied to federation queue receivers that have been stopped due to lack of local demand.
    static final int
    Default timeout (milliseconds) applied to federation receivers that are being stopped due to removal of local demand and need to drain link credit and process any in-flight deliveries before closure.
    static final boolean
    Default value for how a federation receiver should respond to delivery errors indicating that an address is full and cannot accept messages at this time.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns the receive idle timeout when shutting down a address Receiver when local demand is removed.
    int
    Returns the size in bytes of an incoming message after which the Receiver treats it as large.
    int
    Returns the timeout value to use when waiting for a corresponding link attach from the remote.
    int
    Returns the federation receiver link quiesce timeout configuration.
    int
    Returns the credit batch size offered to a Receiver link that is in pull mode.
    int
    Returns the receive idle timeout when shutting down a queue Receiver when local demand is removed.
    int
    Returns the credit batch size offered to a Receiver link.
    int
    Returns the number of remaining credits on a Receiver before the batch is replenished.
    int
    Returns the receive quiesce timeout when shutting down a Receiver when local demand is removed.
    boolean
    Returns true if the federation is configured to tunnel core messages as AMQP custom messages.
    boolean
    (@return the drain link credit on transient delivery errors configuration}
    boolean
    Returns true if federation is configured to ignore filters on individual address bindings.
    boolean
    Returns true if federation is configured to ignore filters on individual queue consumers.
    boolean
    Returns true if federation is configured to ignore priorities on individual queue consumers.
    boolean
    (@return the use modified for transient delivery errors configuration}
    Enumerate the configuration options in this configuration object and return a Map that contains the values which can be sent to a remote peer

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_PULL_CREDIT_BATCH_SIZE

      public static final int DEFAULT_PULL_CREDIT_BATCH_SIZE
      Default credits granted to a receiver that is in pull mode.
      See Also:
    • DEFAULT_CORE_MESSAGE_TUNNELING_ENABLED

      public static final boolean DEFAULT_CORE_MESSAGE_TUNNELING_ENABLED
      Default value for the core message tunneling feature that indicates if core protocol messages should be streamed as binary blobs as the payload of an custom AMQP message which avoids any conversions of the messages to / from AMQP.
      See Also:
    • DEFAULT_IGNORE_ADDRESS_BINDING_FILTERS

      public static final boolean DEFAULT_IGNORE_ADDRESS_BINDING_FILTERS
      Default value for the filtering applied to federation address consumers that controls if the filter specified by an address binding is used or if the filters are ignored and a single conduit type subscription is used for all messages sent to the remote address.
      See Also:
    • DEFAULT_IGNORE_QUEUE_CONSUMER_FILTERS

      public static final boolean DEFAULT_IGNORE_QUEUE_CONSUMER_FILTERS
      Default value for the filtering applied to federation queue consumers that controls if the filter specified by a consumer subscription is used or if the higher level queue filter only is applied when creating a federation queue consumer.
      See Also:
    • DEFAULT_IGNORE_QUEUE_CONSUMER_PRIORITIES

      public static final boolean DEFAULT_IGNORE_QUEUE_CONSUMER_PRIORITIES
      Default value for the priority applied to federation queue consumers that controls if the priority specified by a consumer subscription is used or if the policy priority offset value is simply applied to the default consumer priority value.
      See Also:
    • DEFAULT_RECEIVER_QUIESCE_TIMEOUT

      public static final int DEFAULT_RECEIVER_QUIESCE_TIMEOUT
      Default timeout (milliseconds) applied to federation receivers that are being stopped due to removal of local demand and need to drain link credit and process any in-flight deliveries before closure. If the timeout elapses before the link has quiesced the link is forcibly closed.
      See Also:
    • DEFAULT_ADDRESS_RECEIVER_IDLE_TIMEOUT

      public static final int DEFAULT_ADDRESS_RECEIVER_IDLE_TIMEOUT
      Default timeout (milliseconds) applied to federation address receivers that have been stopped due to lack of local demand. The close delay prevent a link from detaching in cases where demand drops and returns in quick succession allowing for faster recovery. The idle timeout kicks in once the link has completed its drain of outstanding credit.
      See Also:
    • DEFAULT_QUEUE_RECEIVER_IDLE_TIMEOUT

      public static final int DEFAULT_QUEUE_RECEIVER_IDLE_TIMEOUT
      Default timeout (milliseconds) applied to federation queue receivers that have been stopped due to lack of local demand. The close delay prevent a link from detaching in cases where demand drops and returns in quick succession allowing for faster recovery. The idle timeout kicks in once the link has completed its drain of outstanding credit.
      See Also:
    • DEFAULT_USE_MODIFIED_FOR_TRANSIENT_DELIVERY_ERRORS

      public static final boolean DEFAULT_USE_MODIFIED_FOR_TRANSIENT_DELIVERY_ERRORS
      Default value for how a federation receiver should respond to delivery errors indicating that an address is full and cannot accept messages at this time. By default we want to send Modified outcomes with the delivery failed value set to true such that the remote will deliver the message again after incrementing the delivery count of the message. This is an opinionated choice and the value set on the connector URI is not referenced by federation as we want to maintain this behavior unless specifically set on federation configuration explicitly.
      See Also:
  • Constructor Details

  • Method Details

    • getReceiverCredits

      public int getReceiverCredits()
      Returns the credit batch size offered to a Receiver link.
      Returns:
      the credit batch size offered to a Receiver link
    • getReceiverCreditsLow

      public int getReceiverCreditsLow()
      Returns the number of remaining credits on a Receiver before the batch is replenished.
      Returns:
      the number of remaining credits on a Receiver before the batch is replenished
    • getPullReceiverBatchSize

      public int getPullReceiverBatchSize()
      Returns the credit batch size offered to a Receiver link that is in pull mode.
      Returns:
      the credit batch size offered to a Receiver link that is in pull mode
    • getLargeMessageThreshold

      public int getLargeMessageThreshold()
      Returns the size in bytes of an incoming message after which the Receiver treats it as large.
      Returns:
      the size in bytes of an incoming message after which the Receiver treats it as large
    • getLinkAttachTimeout

      public int getLinkAttachTimeout()
      Returns the timeout value to use when waiting for a corresponding link attach from the remote.
      Returns:
      the timeout value to use when waiting for a corresponding link attach from the remote
    • isCoreMessageTunnelingEnabled

      public boolean isCoreMessageTunnelingEnabled()
      Returns true if the federation is configured to tunnel core messages as AMQP custom messages.
      Returns:
      true if the federation is configured to tunnel core messages as AMQP custom messages
    • isIgnoreAddressBindingFilters

      public boolean isIgnoreAddressBindingFilters()
      Returns true if federation is configured to ignore filters on individual address bindings.
      Returns:
      true if federation is configured to ignore filters on individual address bindings
    • isIgnoreSubscriptionFilters

      public boolean isIgnoreSubscriptionFilters()
      Returns true if federation is configured to ignore filters on individual queue consumers.
      Returns:
      true if federation is configured to ignore filters on individual queue consumers
    • isIgnoreSubscriptionPriorities

      public boolean isIgnoreSubscriptionPriorities()
      Returns true if federation is configured to ignore priorities on individual queue consumers.
      Returns:
      true if federation is configured to ignore priorities on individual queue consumers
    • getReceiverQuiesceTimeout

      public int getReceiverQuiesceTimeout()
      Returns the receive quiesce timeout when shutting down a Receiver when local demand is removed.
      Returns:
      the receive quiesce timeout when shutting down a Receiver when local demand is removed
    • getAddressReceiverIdleTimeout

      public int getAddressReceiverIdleTimeout()
      Returns the receive idle timeout when shutting down a address Receiver when local demand is removed.
      Returns:
      the receive idle timeout when shutting down a address Receiver when local demand is removed
    • getQueueReceiverIdleTimeout

      public int getQueueReceiverIdleTimeout()
      Returns the receive idle timeout when shutting down a queue Receiver when local demand is removed.
      Returns:
      the receive idle timeout when shutting down a queue Receiver when local demand is removed
    • isUseModifiedForTransientDeliveryErrors

      public boolean isUseModifiedForTransientDeliveryErrors()
      (@return the use modified for transient delivery errors configuration}
    • isDrainOnTransientDeliveryErrors

      public boolean isDrainOnTransientDeliveryErrors()
      (@return the drain link credit on transient delivery errors configuration}
    • getLinkQuiesceTimeout

      public int getLinkQuiesceTimeout()
      Returns the federation receiver link quiesce timeout configuration.
      Returns:
      the federation receiver link quiesce timeout configuration
    • toConfigurationMap

      public Map<String,Object> toConfigurationMap()
      Enumerate the configuration options in this configuration object and return a Map that contains the values which can be sent to a remote peer
      Returns:
      a Map that contains the values of each configuration option