Class AMQPFederationQueuePolicyManager
- java.lang.Object
-
- org.apache.activemq.artemis.protocol.amqp.federation.internal.FederationQueuePolicyManager
-
- org.apache.activemq.artemis.protocol.amqp.connect.federation.AMQPFederationQueuePolicyManager
-
- All Implemented Interfaces:
ActiveMQServerBasePlugin,ActiveMQServerConsumerPlugin
public class AMQPFederationQueuePolicyManager extends FederationQueuePolicyManager
The AMQP Federation implementation of an federation queue policy manager.
-
-
Field Summary
Fields Modifier and Type Field Description protected AMQPFederationConsumerConfigurationconfigurationprotected AMQPFederationfederation-
Fields inherited from class org.apache.activemq.artemis.protocol.amqp.federation.internal.FederationQueuePolicyManager
federationConsumerMatcher, policy, remoteConsumers, server
-
-
Constructor Summary
Constructors Constructor Description AMQPFederationQueuePolicyManager(AMQPFederation federation, FederationReceiveFromQueuePolicy queuePolicy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected FederationConsumerInternalcreateFederationConsumer(FederationConsumerInfo consumerInfo)Create a newFederationConsumerInternalinstance using the consumer information given.protected booleanisPluginBlockingFederationConsumerCreate(org.apache.activemq.artemis.core.server.Queue queue)Query all registered plugins for this federation instance to determine if any wish to prevent a federation consumer from being created for the given Queue.protected voidsignalAfterCloseFederationConsumer(FederationConsumer consumer)Signal any registered plugins for this federation instance that a remote Queue consumer has now been closed.protected voidsignalAfterCreateFederationConsumer(FederationConsumer consumer)Signal any registered plugins for this federation instance that a remote Queue consumer has been created.protected voidsignalBeforeCloseFederationConsumer(FederationConsumer consumer)Signal any registered plugins for this federation instance that a remote Queue consumer is about to be closed.protected voidsignalBeforeCreateFederationConsumer(FederationConsumerInfo info)Signal any registered plugins for this federation instance that a remote Queue consumer is being created.-
Methods inherited from class org.apache.activemq.artemis.protocol.amqp.federation.internal.FederationQueuePolicyManager
afterCreateConsumer, beforeCloseConsumer, checkQueueForMatch, createConsumerEntry, createConsumerInfo, createFederationConsumerMatcher, reactIfConsumerMatchesPolicy, scanAllQueueBindings, start, stop, testIfQueueMatchesPolicy
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.activemq.artemis.core.server.plugin.ActiveMQServerBasePlugin
init, registered, setInit, unregistered
-
Methods inherited from interface org.apache.activemq.artemis.core.server.plugin.ActiveMQServerConsumerPlugin
afterCloseConsumer, beforeCreateConsumer, beforeCreateConsumer
-
-
-
-
Field Detail
-
federation
protected final AMQPFederation federation
-
configuration
protected final AMQPFederationConsumerConfiguration configuration
-
-
Constructor Detail
-
AMQPFederationQueuePolicyManager
public AMQPFederationQueuePolicyManager(AMQPFederation federation, FederationReceiveFromQueuePolicy queuePolicy) throws ActiveMQException
- Throws:
ActiveMQException
-
-
Method Detail
-
createFederationConsumer
protected FederationConsumerInternal createFederationConsumer(FederationConsumerInfo consumerInfo)
Description copied from class:FederationQueuePolicyManagerCreate a newFederationConsumerInternalinstance using the consumer information given. This is called when local demand for a matched queue requires a new consumer to be created. A subclass must override this to perform the creation of the remote consumer.- Specified by:
createFederationConsumerin classFederationQueuePolicyManager- Parameters:
consumerInfo- TheFederationConsumerInfothat defines the consumer to be created.- Returns:
- a new
FederationConsumerInternalinstance that will reside in this manager.
-
signalBeforeCreateFederationConsumer
protected void signalBeforeCreateFederationConsumer(FederationConsumerInfo info)
Description copied from class:FederationQueuePolicyManagerSignal any registered plugins for this federation instance that a remote Queue consumer is being created.- Specified by:
signalBeforeCreateFederationConsumerin classFederationQueuePolicyManager- Parameters:
info- TheFederationConsumerInfothat describes the remote Queue consumer
-
signalAfterCreateFederationConsumer
protected void signalAfterCreateFederationConsumer(FederationConsumer consumer)
Description copied from class:FederationQueuePolicyManagerSignal any registered plugins for this federation instance that a remote Queue consumer has been created.- Specified by:
signalAfterCreateFederationConsumerin classFederationQueuePolicyManager- Parameters:
consumer- TheFederationConsumerInfothat describes the remote Queue consumer
-
signalBeforeCloseFederationConsumer
protected void signalBeforeCloseFederationConsumer(FederationConsumer consumer)
Description copied from class:FederationQueuePolicyManagerSignal any registered plugins for this federation instance that a remote Queue consumer is about to be closed.- Specified by:
signalBeforeCloseFederationConsumerin classFederationQueuePolicyManager- Parameters:
consumer- TheFederationConsumerthat that is about to be closed.
-
signalAfterCloseFederationConsumer
protected void signalAfterCloseFederationConsumer(FederationConsumer consumer)
Description copied from class:FederationQueuePolicyManagerSignal any registered plugins for this federation instance that a remote Queue consumer has now been closed.- Specified by:
signalAfterCloseFederationConsumerin classFederationQueuePolicyManager- Parameters:
consumer- TheFederationConsumerthat that has been closed.
-
isPluginBlockingFederationConsumerCreate
protected final boolean isPluginBlockingFederationConsumerCreate(org.apache.activemq.artemis.core.server.Queue queue)
Description copied from class:FederationQueuePolicyManagerQuery all registered plugins for this federation instance to determine if any wish to prevent a federation consumer from being created for the given Queue.- Specified by:
isPluginBlockingFederationConsumerCreatein classFederationQueuePolicyManager- Parameters:
queue- TheQueuethat the federation queue manager is attempting to create a remote consumer for.- Returns:
- true if any registered plugin signaled that creation should be suppressed.
-
-