Class AMQPFederationAddressSenderController
java.lang.Object
org.apache.activemq.artemis.protocol.amqp.connect.federation.AMQPFederationSenderController
org.apache.activemq.artemis.protocol.amqp.connect.federation.AMQPFederationAddressSenderController
- All Implemented Interfaces:
SenderController
SenderController used when an AMQP federation Address receiver is created and this side of the connection
needs to create a matching sender. The address sender controller must check on initialization if the address exists
and if not it should create it using the configuration values supplied in the link source properties that control the
lifetime of the address once the link is closed.-
Nested Class Summary
Nested classes/interfaces inherited from class AMQPFederationSenderController
AMQPFederationSenderController.RoleNested classes/interfaces inherited from interface SenderController
SenderController.RejectingOutgoingMessageWriter -
Field Summary
Fields inherited from class AMQPFederationSenderController
closedListener, controllerId, coreLargeMessageWriter, coreMessageWriter, federation, largeMessageWriter, manager, metrics, resourceDeletedAction, senderContext, serverConsumer, session, sessionSPI, standardMessageWriter, tunnelCoreMessagesFields inherited from interface SenderController
REJECTING_MESSAGE_WRITER -
Constructor Summary
ConstructorsConstructorDescriptionAMQPFederationAddressSenderController(AMQPFederationRemoteAddressPolicyManager manager, AMQPFederationMetrics.ProducerMetrics metrics, Consumer<AMQPFederationSenderController> closedListener) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.activemq.artemis.core.server.ServerConsumercreateServerConsumer(ProtonServerSenderContext senderContext) The subclass must implement this and create an appropriately configured server consumer based on the properties of the AMQP link and the role of the implemented sender type.getRole()Returns an enumeration describing the role of the sender controller implementation.protected voidhandleLinkLocallyClosed(org.apache.qpid.proton.amqp.transport.ErrorCondition error) Subclasses should react to link local close by cleaning up resources.protected voidSubclasses should react to link remote close by cleaning up any resources
-
Constructor Details
-
AMQPFederationAddressSenderController
public AMQPFederationAddressSenderController(AMQPFederationRemoteAddressPolicyManager manager, AMQPFederationMetrics.ProducerMetrics metrics, Consumer<AMQPFederationSenderController> closedListener) throws ActiveMQAMQPException - Throws:
ActiveMQAMQPException
-
-
Method Details
-
getRole
Description copied from class:AMQPFederationSenderControllerReturns an enumeration describing the role of the sender controller implementation.- Specified by:
getRolein classAMQPFederationSenderController- Returns:
- an enumeration describing the role of the sender controller implementation
-
createServerConsumer
public org.apache.activemq.artemis.core.server.ServerConsumer createServerConsumer(ProtonServerSenderContext senderContext) throws Exception Description copied from class:AMQPFederationSenderControllerThe subclass must implement this and create an appropriately configured server consumer based on the properties of the AMQP link and the role of the implemented sender type.- Specified by:
createServerConsumerin classAMQPFederationSenderController- Parameters:
senderContext- The server sender context that this controller was created for.- Returns:
- a new
ServerConsumerinstance that will send messages to the remote peer - Throws:
Exception- if an error occurs while creating the server consumer.
-
handleLinkRemotelyClosed
protected void handleLinkRemotelyClosed()Description copied from class:AMQPFederationSenderControllerSubclasses should react to link remote close by cleaning up any resources- Overrides:
handleLinkRemotelyClosedin classAMQPFederationSenderController
-
handleLinkLocallyClosed
protected void handleLinkLocallyClosed(org.apache.qpid.proton.amqp.transport.ErrorCondition error) Description copied from class:AMQPFederationSenderControllerSubclasses should react to link local close by cleaning up resources.- Overrides:
handleLinkLocallyClosedin classAMQPFederationSenderController- Parameters:
error- The error that triggered the local close or null if no error.
-