Class AMQPFederationConstants
java.lang.Object
org.apache.activemq.artemis.protocol.amqp.connect.federation.AMQPFederationConstants
Constants class for values used in the AMQP Federation implementation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringIndicates that the message carries a federation address match policy that should be added to the remote for reverse federation of matching queue from the remote peer.static final StringIndicates that the message carries a federation queue match policy that should be added to the remote for reverse federation of matching queue from the remote peer.static final StringEncodes a boolean value that indicates if queue auto delete option should be enabled.static final StringEncodes a signed long value that controls the delay before auto deletion if auto delete is enabled.static final StringEncodes a signed long value that controls the message count value that allows for address auto delete.static final StringEncodes boolean value that controls if the address federation should include divert bindings.static final StringAddress policy excludes are encoded as aListof string entries when configured.static final StringAddress policy includes are encoded as aListof string entries when configured.static final StringEncodes a signed integer value that controls the maximum number of hops allowed for federated messages.static final StringWhen a federation address receiver link has been successfully drained after demand was removed from the federated resource, this value controls how long the link can remain in an attached but idle state before it is closed.static final org.apache.qpid.proton.amqp.SymbolEvents sent across the events link will each carry an event type to indicate the event type which controls how the remote reacts to the given event.static final org.apache.qpid.proton.amqp.SymbolA desired capability added to the federation address receiver link that must be offered in return for a federation address receiver to be successfully opened.static final StringAddress used by a remote broker instance to validate that an incoming federation connection has access rights to perform federation operations.static final org.apache.qpid.proton.amqp.SymbolProperty name used to embed a nested map of properties meant to be applied if the federation resources created on the remote end of the control link if configured to do so.static final org.apache.qpid.proton.amqp.SymbolA desired capability added to the federation control link that must be offered in return for a federation connection to be successfully established.static final StringThe prefix value added when creating a federation control link beyond the initial portion of the validation address prefix.static final org.apache.qpid.proton.amqp.SymbolA desired capability added to the federation events links that must be offered in return for a federation event link to be successfully established.static final StringThe prefix value added when creating a federation events links beyond the initial portion of the validation address prefix.static final org.apache.qpid.proton.amqp.SymbolProperty name used to carry the name of the federation that triggered creation of the remote connection.static final org.apache.qpid.proton.amqp.SymbolProperty name used to carry the name of the federation policy that triggered creation of the remote resource.static final org.apache.qpid.proton.amqp.SymbolA desired capability added to the federation queue receiver link that must be offered in return for a federation queue receiver to be successfully opened.static final org.apache.qpid.proton.amqp.SymbolProperty added to the receiver properties when opening an AMQP federation address or queue consumer that indicates the consumer priority that should be used when creating the remote consumer.static final intDefault AMQP federation version used when the version is not set on the control link as that would indicate all versions prior to the addition of versions being added on the control link.static final intVersion 2 marker for AMQP federation control links.static final org.apache.qpid.proton.amqp.SymbolProperty added on the AMQP federation control link that carries a version associated with the side of the link the attach frame that carries it came from.static final StringConfiguration property used to convey the local side value to use when considering if federation address consumers should filter using the filters defined on individual bindings, this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.static final StringConfiguration property used to convey the local side value to use when considering if federation queue consumers should filter using the filters defined on individual queue subscriptions, this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.static final StringConfiguration property used to convey the local side value to use when considering if federation queue consumers should apply a consumer priority offset based on the subscription priority or should use a singular priority offset based on policy configuration.static final StringConfiguration property used to convey the local side value to use when considering if a message is a large message, this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.static final StringProperty value that can be applied to federation configuration that controls the timeout value for a link attach to complete before the attach attempt is considered to have failed.static final org.apache.qpid.proton.amqp.SymbolCommands sent across the control link will each carry an operation type to indicate the desired action the remote should take upon receipt of the command.static final StringBoth Queue and Address policies carry a unique name that will always be encoded.static final StringEncodes aMapof String keys and values that are carried along in the federation policy (address or queue).static final StringConfiguration property that defines the amount of credits to batch to an AMQP receiver link and the top up value when sending more credit once the broker has capacity available for them. this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.static final StringQueue policy excludes are encoded as aListof flattened key / value pairs when configured.static final StringEncodes a boolean value that indicates if the include federation option should be enabled.static final StringQueue policy includes are encoded as aListof flattened key / value pairs when configured.static final StringEncodes a signed integer value that adjusts the priority of the any created queue receivers.static final StringWhen a federation queue receiver link has been successfully drained after demand was removed from the federated resource, this value controls how long the link can remain in an attached but idle state before it is closed.static final StringConfiguration property that defines the amount of credits to batch to an AMQP receiver link and the top up limit when sending more credit once the credits are determined to be running low. this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.static final StringA low water mark for receiver credits that indicates more should be sent to top it up to the original credit batch size. this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.static final StringConfiguration property that defines if a federation receiver should drain the link credit when a transient delivery error such as the address being full occurs.static final StringConfiguration property that defines the time in milliseconds that a receiver will wait before considering a pending quiesce timeout to have failed and should close the link.static final StringWhen a federation receiver link is being drained due to removal of local demand this timeout value enforces a maximum wait for drain and processing of in-flight messages before the link is forcibly terminated with the assumption that the remote is no longer responding.static final StringIndicates that the message carries an address name that was previously requested but did not exist, or that was federated but the remote consumer was closed due to removal of the address on the target peer.static final StringCarries the name of an Address that was either not present when a federation consumer was initiated and subsequently rejected, or was removed and has been recreated.static final StringIndicates that the message carries an address and queue name that was previously requested but did not exist, or that was federated but the remote consumer was closed due to removal of the queue on the target peer.static final StringCarries the name of a Queue that was either not present when a federation consumer was initiated and subsequently rejected, or was removed and has been recreated.static final StringEncodes a string value carrying the name of theTransformerclass to use.static final StringEncodes aMapof String keys and values that are applied to the transformer configuration for the policy.static final StringConfiguration property 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 -
Method Summary
-
Field Details
-
FEDERATION_VERSION
public static final org.apache.qpid.proton.amqp.Symbol FEDERATION_VERSIONProperty added on the AMQP federation control link that carries a version associated with the side of the link the attach frame that carries it came from. A control link will provide two versions to the AMQP federation instance, the local side and the remote side once the link has fully opened. -
FEDERATION_V1
public static final int FEDERATION_V1Default AMQP federation version used when the version is not set on the control link as that would indicate all versions prior to the addition of versions being added on the control link.- See Also:
-
FEDERATION_V2
public static final int FEDERATION_V2Version 2 marker for AMQP federation control links. Version 2.0 bump primarily adjusts the address federation link names to avoid potential link stealing when demand is quickly added and removed and as a result the AMQP source address value uses an FQQN that provides a stable address and queue binding name for the remote federation subscription which is recoverable on reconnects or on broker restart.Also in this version AMQP federation queue consumers that are included in federation demand tracking are forwarded to the remote with their original priority values to avoid a case of infinite decreasing priority loops that can occur in some configurations.
- See Also:
-
FEDERATION_BASE_VALIDATION_ADDRESS
Address used by a remote broker instance to validate that an incoming federation connection has access rights to perform federation operations. The user that connects to the AMQP federation endpoint and attempts to create the control link must have write access to this address and any address prefixed by this value.When securing a federation user account the user must have read and write permissions to addresses under this prefix using the broker defined delimiter, this include the ability to create non-durable resources.
$ACTIVEMQ_ARTEMIS_FEDERATION.#;
- See Also:
-
FEDERATION_CONTROL_LINK_PREFIX
The prefix value added when creating a federation control link beyond the initial portion of the validation address prefix. Links for command and control of federation operations follow the form:$ACTIVEMQ_ARTEMIS_FEDERATION.control.<unique-id>
- See Also:
-
FEDERATION_EVENTS_LINK_PREFIX
The prefix value added when creating a federation events links beyond the initial portion of the validation address prefix. Links for federation events follow the form:$ACTIVEMQ_ARTEMIS_FEDERATION.events.<unique-id>
- See Also:
-
FEDERATION_CONTROL_LINK
public static final org.apache.qpid.proton.amqp.Symbol FEDERATION_CONTROL_LINKA desired capability added to the federation control link that must be offered in return for a federation connection to be successfully established. -
FEDERATION_EVENT_LINK
public static final org.apache.qpid.proton.amqp.Symbol FEDERATION_EVENT_LINKA desired capability added to the federation events links that must be offered in return for a federation event link to be successfully established. -
FEDERATION_CONFIGURATION
public static final org.apache.qpid.proton.amqp.Symbol FEDERATION_CONFIGURATIONProperty name used to embed a nested map of properties meant to be applied if the federation resources created on the remote end of the control link if configured to do so. These properties essentially carry local configuration to the remote side that would otherwise use broker defaults and not match behaviors of resources created on the local side of the connection. -
LINK_ATTACH_TIMEOUT
Property value that can be applied to federation configuration that controls the timeout value for a link attach to complete before the attach attempt is considered to have failed. The value is configured in seconds (default is 30 seconds).- See Also:
-
RECEIVER_CREDITS
Configuration property that defines the amount of credits to batch to an AMQP receiver link and the top up limit when sending more credit once the credits are determined to be running low. this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.- See Also:
-
RECEIVER_CREDITS_LOW
A low water mark for receiver credits that indicates more should be sent to top it up to the original credit batch size. this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.- See Also:
-
PULL_RECEIVER_BATCH_SIZE
Configuration property that defines the amount of credits to batch to an AMQP receiver link and the top up value when sending more credit once the broker has capacity available for them. this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.- See Also:
-
LARGE_MESSAGE_THRESHOLD
Configuration property used to convey the local side value to use when considering if a message is a large message, this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection.- See Also:
-
IGNORE_ADDRESS_BINDING_FILTERS
Configuration property used to convey the local side value to use when considering if federation address consumers should filter using the filters defined on individual bindings, this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection. This value can be used to reduce the amount of messages that are federated for an address if the local consumers use filters but must be enabled with care as it can easily lead to duplicate messages being dispatched from the remote as each unique address binding filter creates a remote consumer with that matching filter. If any filters overlap in the messages they allow to pass or there are bindings without a filter then the remote will be sending the same message to multiple federation consumers in order to provide each group of bindings with their matching messages.- See Also:
-
IGNORE_QUEUE_CONSUMER_FILTERS
Configuration property used to convey the local side value to use when considering if federation queue consumers should filter using the filters defined on individual queue subscriptions, this can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection. This can be used to prevent multiple subscriptions on the same queue based on local demand with differing subscription filters but does imply that message that don't match those filters would be federated to the local broker.- See Also:
-
IGNORE_QUEUE_CONSUMER_PRIORITIES
Configuration property used to convey the local side value to use when considering if federation queue consumers should apply a consumer priority offset based on the subscription priority or should use a singular priority offset based on policy configuration. This can be sent to the peer so that dual federation configurations share the same configuration on both sides of the connection. This can be used to prevent multiple subscriptions on the same queue based on local demand with differing consumer priorities but does imply that care needs to be taken to ensure remote consumers would normally have a higher priority value than the configured default priority offset.- See Also:
-
USE_MODIFIED_FOR_TRANSIENT_DELIVERY_ERRORS
Configuration property 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.- See Also:
-
RECEIVER_LINK_QUIESCE_TIMEOUT
Configuration property that defines the time in milliseconds that a receiver will wait before considering a pending quiesce timeout to have failed and should close the link. This configuration can be sent to the remote peer so that dual federation configurations share the same configuration on both sides of the connection. This option can be used to override the value specified on the connector URI to allow federation to operate with a different default.- See Also:
-
RECEIVER_DRAIN_ON_TRANSIENT_DELIVERY_ERRORS
Configuration property that defines if a federation receiver should drain the link credit when a transient delivery error such as the address being full occurs. This configuration can be sent to the remote peer so that dual federation configurations share the same configuration on both sides of the connection. This option can be used to override the value specified on the connector URI to allow federation to operate with a different default.- See Also:
-
FEDERATION_QUEUE_RECEIVER
public static final org.apache.qpid.proton.amqp.Symbol FEDERATION_QUEUE_RECEIVERA desired capability added to the federation queue receiver link that must be offered in return for a federation queue receiver to be successfully opened. On the remote the presence of this capability indicates that the matching queue should be present on the remote and its absence constitutes a failure that should result in the attach request being failed. -
FEDERATION_ADDRESS_RECEIVER
public static final org.apache.qpid.proton.amqp.Symbol FEDERATION_ADDRESS_RECEIVERA desired capability added to the federation address receiver link that must be offered in return for a federation address receiver to be successfully opened. -
FEDERATION_RECEIVER_PRIORITY
public static final org.apache.qpid.proton.amqp.Symbol FEDERATION_RECEIVER_PRIORITYProperty added to the receiver properties when opening an AMQP federation address or queue consumer that indicates the consumer priority that should be used when creating the remote consumer. The value assign to the propertiesMapis a signed integer value. -
OPERATION_TYPE
public static final org.apache.qpid.proton.amqp.Symbol OPERATION_TYPECommands sent across the control link will each carry an operation type to indicate the desired action the remote should take upon receipt of the command. The type of command infers the payload of the structure of the message payload. -
ADD_QUEUE_POLICY
Indicates that the message carries a federation queue match policy that should be added to the remote for reverse federation of matching queue from the remote peer.- See Also:
-
ADD_ADDRESS_POLICY
Indicates that the message carries a federation address match policy that should be added to the remote for reverse federation of matching queue from the remote peer.- See Also:
-
POLICY_NAME
Both Queue and Address policies carry a unique name that will always be encoded.- See Also:
-
QUEUE_INCLUDES
-
QUEUE_EXCLUDES
-
QUEUE_INCLUDE_FEDERATED
Encodes a boolean value that indicates if the include federation option should be enabled.- See Also:
-
QUEUE_PRIORITY_ADJUSTMENT
Encodes a signed integer value that adjusts the priority of the any created queue receivers.- See Also:
-
ADDRESS_INCLUDES
-
ADDRESS_EXCLUDES
-
ADDRESS_AUTO_DELETE
Encodes a boolean value that indicates if queue auto delete option should be enabled.- See Also:
-
ADDRESS_AUTO_DELETE_DELAY
Encodes a signed long value that controls the delay before auto deletion if auto delete is enabled.- See Also:
-
ADDRESS_AUTO_DELETE_MSG_COUNT
Encodes a signed long value that controls the message count value that allows for address auto delete.- See Also:
-
ADDRESS_MAX_HOPS
Encodes a signed integer value that controls the maximum number of hops allowed for federated messages.- See Also:
-
ADDRESS_ENABLE_DIVERT_BINDINGS
Encodes boolean value that controls if the address federation should include divert bindings.- See Also:
-
POLICY_PROPERTIES_MAP
-
TRANSFORMER_CLASS_NAME
Encodes a string value carrying the name of theTransformerclass to use.- See Also:
-
TRANSFORMER_PROPERTIES_MAP
-
EVENT_TYPE
public static final org.apache.qpid.proton.amqp.Symbol EVENT_TYPEEvents sent across the events link will each carry an event type to indicate the event type which controls how the remote reacts to the given event. The type of event infers the payload of the structure of the message payload. -
REQUESTED_QUEUE_ADDED
Indicates that the message carries an address and queue name that was previously requested but did not exist, or that was federated but the remote consumer was closed due to removal of the queue on the target peer.- See Also:
-
REQUESTED_ADDRESS_ADDED
Indicates that the message carries an address name that was previously requested but did not exist, or that was federated but the remote consumer was closed due to removal of the address on the target peer.- See Also:
-
REQUESTED_QUEUE_NAME
Carries the name of a Queue that was either not present when a federation consumer was initiated and subsequently rejected, or was removed and has been recreated.- See Also:
-
REQUESTED_ADDRESS_NAME
Carries the name of an Address that was either not present when a federation consumer was initiated and subsequently rejected, or was removed and has been recreated.- See Also:
-
RECEIVER_QUIESCE_TIMEOUT
When a federation receiver link is being drained due to removal of local demand this timeout value enforces a maximum wait for drain and processing of in-flight messages before the link is forcibly terminated with the assumption that the remote is no longer responding.- See Also:
-
ADDRESS_RECEIVER_IDLE_TIMEOUT
When a federation address receiver link has been successfully drained after demand was removed from the federated resource, this value controls how long the link can remain in an attached but idle state before it is closed.- See Also:
-
QUEUE_RECEIVER_IDLE_TIMEOUT
When a federation queue receiver link has been successfully drained after demand was removed from the federated resource, this value controls how long the link can remain in an attached but idle state before it is closed.- See Also:
-
FEDERATION_NAME
public static final org.apache.qpid.proton.amqp.Symbol FEDERATION_NAMEProperty name used to carry the name of the federation that triggered creation of the remote connection. This value is intended to be added to AMQP control link properties to provide the remote peer with the name of the federation that triggered the creation of the control link and allow for lookup of metrics or other data associated with a remote federation targets. -
FEDERATION_POLICY_NAME
public static final org.apache.qpid.proton.amqp.Symbol FEDERATION_POLICY_NAMEProperty name used to carry the name of the federation policy that triggered creation of the remote resource. This value is intended to be added to AMQP link properties to provide the remote peer with the name of the federation policy that triggered the creation of the link and allow for lookup of metrics or other data associated with a remote policy as links or connections are torn down and re-estabilished.
-
-
Constructor Details
-
AMQPFederationConstants
public AMQPFederationConstants()
-