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 void
close()
Request from the remote peer to close this resource.void
commit(LocalTransactionId txnId)
Handle work necessary on commit of transacted resources associated with this Link instance.void
delivery(org.apache.qpid.proton.engine.Delivery delivery)
Called when a new Delivery arrives for the given Link.void
detach()
Request from the remote peer to detach this resource.void
flow()
Handles an incoming flow control.ConsumerId
getConsumerId()
ActiveMQDestination
getDestination()
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.void
onMessageDispatch(MessageDispatch dispatch)
Event point for incoming message from ActiveMQ on this Sender's corresponding subscription.void
open()
Request from the remote peer to open this resource.void
pumpOutbound()
void
rollback(LocalTransactionId txnId)
Handle work necessary on rollback of transacted resources associated with this Link instance.void
setDestination(ActiveMQDestination destination)
Sets the ActiveMQDestination that this link will be servicing.String
toString()
-
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:AmqpResource
Request from the remote peer to open this resource.- Specified by:
open
in interfaceAmqpResource
- Overrides:
open
in classAmqpAbstractLink<org.apache.qpid.proton.engine.Sender>
-
detach
public void detach()
Description copied from interface:AmqpLink
Request from the remote peer to detach this resource.- Specified by:
detach
in interfaceAmqpLink
- Overrides:
detach
in classAmqpAbstractLink<org.apache.qpid.proton.engine.Sender>
-
close
public void close()
Description copied from interface:AmqpResource
Request from the remote peer to close this resource.- Specified by:
close
in interfaceAmqpResource
- Overrides:
close
in classAmqpAbstractLink<org.apache.qpid.proton.engine.Sender>
-
flow
public void flow() throws Exception
Description copied from interface:AmqpLink
Handles an incoming flow control.- Throws:
Exception
-
delivery
public void delivery(org.apache.qpid.proton.engine.Delivery delivery) throws Exception
Description copied from interface:AmqpLink
Called 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:AmqpLink
Handle 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:AmqpLink
Handle 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:AmqpLink
Sets the ActiveMQDestination that this link will be servicing.- Parameters:
destination
- the ActiveMQDestination that this link services.
-
-