Class 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.
    • 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 interface AmqpResource
        Overrides:
        open in class AmqpAbstractLink<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 interface AmqpLink
        Overrides:
        detach in class AmqpAbstractLink<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 interface AmqpResource
        Overrides:
        close in class AmqpAbstractLink<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.