Class AmqpSender
- java.lang.Object
-
- org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink<org.apache.qpid.proton.engine.Sender>
-
- org.apache.activemq.transport.amqp.protocol.AmqpSender
-
- All Implemented Interfaces:
AmqpLink,AmqpResource
public class AmqpSender extends AmqpAbstractLink<org.apache.qpid.proton.engine.Sender>
An AmqpSender wraps the AMQP Sender end of a link from the remote peer which holds the corresponding Receiver which receives messages transfered across the link from the Broker. An AmqpSender is in turn a message consumer subscribed to some destination on the broker. As messages are dispatched to this sender that are sent on to the remote Receiver end of the lin.
-
-
Field Summary
-
Fields inherited from class org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink
closeActions, closed, endpoint, opened, session
-
-
Constructor Summary
Constructors Constructor Description AmqpSender(AmqpSession session, org.apache.qpid.proton.engine.Sender endpoint, ConsumerInfo consumerInfo)Creates a new AmqpSender instance that manages the given Sender
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Request from the remote peer to close this resource.voidcommit(LocalTransactionId txnId)Handle work necessary on commit of transacted resources associated with this Link instance.voiddelivery(org.apache.qpid.proton.engine.Delivery delivery)Called when a new Delivery arrives for the given Link.voiddetach()Request from the remote peer to detach this resource.voidflow()Handles an incoming flow control.ConsumerIdgetConsumerId()ActiveMQDestinationgetDestination()voidonConsumerControl(ConsumerControl control)Called when the Broker sends a ConsumerControl command to the Consumer that this sender creates to obtain messages to dispatch via the sender for this end of the open link.voidonMessageDispatch(MessageDispatch dispatch)Event point for incoming message from ActiveMQ on this Sender's corresponding subscription.voidopen()Request from the remote peer to open this resource.voidpumpOutbound()voidrollback(LocalTransactionId txnId)Handle work necessary on rollback of transacted resources associated with this Link instance.voidsetDestination(ActiveMQDestination destination)Sets the ActiveMQDestination that this link will be servicing.StringtoString()-
Methods inherited from class org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink
addCloseAction, close, getEndpoint, getSession, isClosed, isOpened, sendToActiveMQ, sendToActiveMQ
-
-
-
-
Constructor Detail
-
AmqpSender
public AmqpSender(AmqpSession session, org.apache.qpid.proton.engine.Sender endpoint, ConsumerInfo consumerInfo)
Creates a new AmqpSender instance that manages the given Sender- Parameters:
session- the AmqpSession object that is the parent of this instance.endpoint- the AMQP Sender instance that this class manages.consumerInfo- the ConsumerInfo instance that holds configuration for this sender.
-
-
Method Detail
-
open
public void open()
Description copied from interface:AmqpResourceRequest from the remote peer to open this resource.- Specified by:
openin interfaceAmqpResource- Overrides:
openin classAmqpAbstractLink<org.apache.qpid.proton.engine.Sender>
-
detach
public void detach()
Description copied from interface:AmqpLinkRequest from the remote peer to detach this resource.- Specified by:
detachin interfaceAmqpLink- Overrides:
detachin classAmqpAbstractLink<org.apache.qpid.proton.engine.Sender>
-
close
public void close()
Description copied from interface:AmqpResourceRequest from the remote peer to close this resource.- Specified by:
closein interfaceAmqpResource- Overrides:
closein classAmqpAbstractLink<org.apache.qpid.proton.engine.Sender>
-
flow
public void flow() throws ExceptionDescription copied from interface:AmqpLinkHandles an incoming flow control.- Throws:
Exception
-
delivery
public void delivery(org.apache.qpid.proton.engine.Delivery delivery) throws ExceptionDescription copied from interface:AmqpLinkCalled when a new Delivery arrives for the given Link.- Parameters:
delivery- the newly arrived delivery on this link.- Throws:
Exception- if an error occurs while processing the new Delivery.
-
commit
public void commit(LocalTransactionId txnId) throws Exception
Description copied from interface:AmqpLinkHandle work necessary on commit of transacted resources associated with this Link instance.- Parameters:
txnId- The Transaction ID being committed.- Throws:
Exception- if an error occurs while performing the commit.
-
rollback
public void rollback(LocalTransactionId txnId) throws Exception
Description copied from interface:AmqpLinkHandle work necessary on rollback of transacted resources associated with this Link instance.- Parameters:
txnId- The Transaction ID being rolled back.- Throws:
Exception- if an error occurs while performing the rollback.
-
onMessageDispatch
public void onMessageDispatch(MessageDispatch dispatch) throws Exception
Event point for incoming message from ActiveMQ on this Sender's corresponding subscription.- Parameters:
dispatch- the MessageDispatch to process and send across the link.- Throws:
Exception- if an error occurs while encoding the message for send.
-
onConsumerControl
public void onConsumerControl(ConsumerControl control)
Called when the Broker sends a ConsumerControl command to the Consumer that this sender creates to obtain messages to dispatch via the sender for this end of the open link.- Parameters:
control- The ConsumerControl command to process.
-
getConsumerId
public ConsumerId getConsumerId()
-
getDestination
public ActiveMQDestination getDestination()
- Returns:
- the ActiveMQDestination that this link is servicing.
-
setDestination
public void setDestination(ActiveMQDestination destination)
Description copied from interface:AmqpLinkSets the ActiveMQDestination that this link will be servicing.- Parameters:
destination- the ActiveMQDestination that this link services.
-
-