Class AMQPFederationBaseSenderController
- java.lang.Object
-
- org.apache.activemq.artemis.protocol.amqp.connect.federation.AMQPFederationBaseSenderController
-
- All Implemented Interfaces:
SenderController
- Direct Known Subclasses:
AMQPFederationAddressSenderController,AMQPFederationQueueSenderController
public abstract class AMQPFederationBaseSenderController extends Object implements SenderController
A base class abstractSenderControllerimplementation for use by federation address and queue senders that provides some common functionality used between both.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.activemq.artemis.protocol.amqp.proton.SenderController
SenderController.RejectingOutgoingMessageWriter
-
-
Field Summary
Fields Modifier and Type Field Description protected AMQPTunneledCoreLargeMessageWritercoreLargeMessageWriterprotected AMQPTunneledCoreMessageWritercoreMessageWriterprotected AMQPLargeMessageWriterlargeMessageWriterprotected Consumer<org.apache.qpid.proton.amqp.transport.ErrorCondition>resourceDeletedActionprotected AMQPSessionContextsessionprotected AMQPSessionCallbacksessionSPIprotected AMQPMessageWriterstandardMessageWriterprotected booleantunnelCoreMessages-
Fields inherited from interface org.apache.activemq.artemis.protocol.amqp.proton.SenderController
REJECTING_MESSAGE_WRITER
-
-
Constructor Summary
Constructors Constructor Description AMQPFederationBaseSenderController(AMQPSessionContext session)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Handle close of the sever sender AMQP resources.voidclose(org.apache.qpid.proton.amqp.transport.ErrorCondition error)Called when the sender is being locally closed due to some error or forced shutdown due to resource deletion etc.AMQPSessionCallbackgetSessionCallback()AMQPSessionContextgetSessionContext()MessageWriterselectOutgoingMessageWriter(ProtonServerSenderContext sender, org.apache.activemq.artemis.core.server.MessageReference reference)Controller selects a outgoing delivery writer that will handle the encoding and writing of the targetMessagecarried in the givenMessageReference.-
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.protocol.amqp.proton.SenderController
init
-
-
-
-
Field Detail
-
session
protected final AMQPSessionContext session
-
sessionSPI
protected final AMQPSessionCallback sessionSPI
-
standardMessageWriter
protected AMQPMessageWriter standardMessageWriter
-
largeMessageWriter
protected AMQPLargeMessageWriter largeMessageWriter
-
coreMessageWriter
protected AMQPTunneledCoreMessageWriter coreMessageWriter
-
coreLargeMessageWriter
protected AMQPTunneledCoreLargeMessageWriter coreLargeMessageWriter
-
tunnelCoreMessages
protected boolean tunnelCoreMessages
-
resourceDeletedAction
protected Consumer<org.apache.qpid.proton.amqp.transport.ErrorCondition> resourceDeletedAction
-
-
Constructor Detail
-
AMQPFederationBaseSenderController
public AMQPFederationBaseSenderController(AMQPSessionContext session) throws ActiveMQAMQPException
- Throws:
ActiveMQAMQPException
-
-
Method Detail
-
getSessionContext
public AMQPSessionContext getSessionContext()
-
getSessionCallback
public AMQPSessionCallback getSessionCallback()
-
close
public void close() throws ExceptionDescription copied from interface:SenderControllerHandle close of the sever sender AMQP resources.- Specified by:
closein interfaceSenderController- Throws:
Exception- if an error occurs during close.
-
close
public void close(org.apache.qpid.proton.amqp.transport.ErrorCondition error)
Description copied from interface:SenderControllerCalled when the sender is being locally closed due to some error or forced shutdown due to resource deletion etc. The default implementation of this API does nothing in response to this call.- Specified by:
closein interfaceSenderController- Parameters:
error- The error condition that triggered the close.
-
selectOutgoingMessageWriter
public MessageWriter selectOutgoingMessageWriter(ProtonServerSenderContext sender, org.apache.activemq.artemis.core.server.MessageReference reference)
Description copied from interface:SenderControllerController selects a outgoing delivery writer that will handle the encoding and writing of the targetMessagecarried in the givenMessageReference. The selection process should take into account how the message pre-processing will mutate the outgoing message. The default implementation performs no caching of writers and should be overridden in subclasses to reduce GC churn, the default version is suitable for tests.- Specified by:
selectOutgoingMessageWriterin interfaceSenderController- Parameters:
sender- The server sender that will make use of the returned delivery context.reference- The message that must be sent using an outgoing context- Returns:
- an
MessageWriterto use when sending the message in the reference.
-
-