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, org.apache.activemq.command.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(org.apache.activemq.command.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.org.apache.activemq.command.ConsumerIdgetConsumerId()org.apache.activemq.command.ActiveMQDestinationgetDestination()voidonConsumerControl(org.apache.activemq.command.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(org.apache.activemq.command.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(org.apache.activemq.command.LocalTransactionId txnId)Handle work necessary on rollback of transacted resources associated with this Link instance.voidsetDestination(org.apache.activemq.command.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, org.apache.activemq.command.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 Exception
Description copied from interface:AmqpLinkHandles an incoming flow control.- Throws:
Exception
-
delivery
public void delivery(org.apache.qpid.proton.engine.Delivery delivery) throws Exception
Description 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(org.apache.activemq.command.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(org.apache.activemq.command.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(org.apache.activemq.command.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(org.apache.activemq.command.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 org.apache.activemq.command.ConsumerId getConsumerId()
-
getDestination
public org.apache.activemq.command.ActiveMQDestination getDestination()
- Returns:
- the ActiveMQDestination that this link is servicing.
-
setDestination
public void setDestination(org.apache.activemq.command.ActiveMQDestination destination)
Description copied from interface:AmqpLinkSets the ActiveMQDestination that this link will be servicing.- Parameters:
destination- the ActiveMQDestination that this link services.
-
pumpOutbound
public void pumpOutbound() throws Exception
- Throws:
Exception
-
-