Class JmsMessageProducer

java.lang.Object
org.apache.qpid.jms.JmsMessageProducer
All Implemented Interfaces:
jakarta.jms.MessageProducer, AutoCloseable
Direct Known Subclasses:
JmsQueueSender, JmsTopicPublisher

public class JmsMessageProducer extends Object implements AutoCloseable, jakarta.jms.MessageProducer
Implementation of a JMS MessageProducer
  • Field Details

    • session

      protected final JmsSession session
    • connection

      protected final JmsConnection connection
    • producerInfo

      protected JmsProducerInfo producerInfo
    • anonymousProducer

      protected final boolean anonymousProducer
    • deliveryDelay

      protected long deliveryDelay
    • deliveryMode

      protected int deliveryMode
    • priority

      protected int priority
    • timeToLive

      protected long timeToLive
    • closed

      protected final AtomicBoolean closed
    • disableMessageId

      protected boolean disableMessageId
    • disableTimestamp

      protected boolean disableTimestamp
    • messageSequence

      protected final AtomicLong messageSequence
    • failureCause

      protected final AtomicReference<Throwable> failureCause
  • Constructor Details

    • JmsMessageProducer

      protected JmsMessageProducer(JmsProducerId producerId, JmsSession session, JmsDestination destination) throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
  • Method Details

    • close

      public void close() throws jakarta.jms.JMSException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • doClose

      protected void doClose() throws jakarta.jms.JMSException
      Called to initiate shutdown of Producer resources and request that the remote peer remove the registered producer.
      Throws:
      jakarta.jms.JMSException - if an internal error occurs during the close operation.
    • shutdown

      protected void shutdown() throws jakarta.jms.JMSException
      Called to release all producer resources without requiring a destroy request to be sent to the remote peer. This is most commonly needed when the parent Session is closing.
      Throws:
      jakarta.jms.JMSException - if an internal error occurs during the shutdown operation.
    • shutdown

      protected void shutdown(Throwable cause) throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
    • getDeliveryDelay

      public long getDeliveryDelay() throws jakarta.jms.JMSException
      Specified by:
      getDeliveryDelay in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • getDeliveryMode

      public int getDeliveryMode() throws jakarta.jms.JMSException
      Specified by:
      getDeliveryMode in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • getDestination

      public jakarta.jms.Destination getDestination() throws jakarta.jms.JMSException
      Specified by:
      getDestination in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • getDisableMessageID

      public boolean getDisableMessageID() throws jakarta.jms.JMSException
      Specified by:
      getDisableMessageID in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • getDisableMessageTimestamp

      public boolean getDisableMessageTimestamp() throws jakarta.jms.JMSException
      Specified by:
      getDisableMessageTimestamp in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • getPriority

      public int getPriority() throws jakarta.jms.JMSException
      Specified by:
      getPriority in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • getTimeToLive

      public long getTimeToLive() throws jakarta.jms.JMSException
      Specified by:
      getTimeToLive in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • send

      public void send(jakarta.jms.Message message) throws jakarta.jms.JMSException
      Specified by:
      send in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • send

      public void send(jakarta.jms.Message message, int deliveryMode, int priority, long timeToLive) throws jakarta.jms.JMSException
      Specified by:
      send in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • send

      public void send(jakarta.jms.Destination destination, jakarta.jms.Message message) throws jakarta.jms.JMSException
      Specified by:
      send in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • send

      public void send(jakarta.jms.Destination destination, jakarta.jms.Message message, int deliveryMode, int priority, long timeToLive) throws jakarta.jms.JMSException
      Specified by:
      send in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • send

      public void send(jakarta.jms.Message message, jakarta.jms.CompletionListener listener) throws jakarta.jms.JMSException
      Specified by:
      send in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • send

      public void send(jakarta.jms.Message message, int deliveryMode, int priority, long timeToLive, jakarta.jms.CompletionListener listener) throws jakarta.jms.JMSException
      Specified by:
      send in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • send

      public void send(jakarta.jms.Destination destination, jakarta.jms.Message message, jakarta.jms.CompletionListener listener) throws jakarta.jms.JMSException
      Specified by:
      send in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • send

      public void send(jakarta.jms.Destination destination, jakarta.jms.Message message, int deliveryMode, int priority, long timeToLive, jakarta.jms.CompletionListener listener) throws jakarta.jms.JMSException
      Specified by:
      send in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • setDeliveryDelay

      public void setDeliveryDelay(long deliveryDelay) throws jakarta.jms.JMSException
      Specified by:
      setDeliveryDelay in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • setDeliveryMode

      public void setDeliveryMode(int deliveryMode) throws jakarta.jms.JMSException
      Specified by:
      setDeliveryMode in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • setDisableMessageID

      public void setDisableMessageID(boolean value) throws jakarta.jms.JMSException
      Specified by:
      setDisableMessageID in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • setDisableMessageTimestamp

      public void setDisableMessageTimestamp(boolean value) throws jakarta.jms.JMSException
      Specified by:
      setDisableMessageTimestamp in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • setPriority

      public void setPriority(int defaultPriority) throws jakarta.jms.JMSException
      Specified by:
      setPriority in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • setTimeToLive

      public void setTimeToLive(long timeToLive) throws jakarta.jms.JMSException
      Specified by:
      setTimeToLive in interface jakarta.jms.MessageProducer
      Throws:
      jakarta.jms.JMSException
    • getProducerId

      protected JmsProducerId getProducerId()
      Returns:
      the producer's assigned JmsProducerId.
    • getNextMessageSequence

      protected long getNextMessageSequence()
      Returns:
      the next logical sequence for a Message sent from this Producer.
    • checkClosed

      protected void checkClosed() throws jakarta.jms.IllegalStateException
      Throws:
      jakarta.jms.IllegalStateException
    • isPresettled

      protected boolean isPresettled()
    • isAnonymous

      protected boolean isAnonymous()
    • getMessageIDBuilder

      protected JmsMessageIDBuilder getMessageIDBuilder()
    • onConnectionInterrupted

      protected void onConnectionInterrupted()
    • onConnectionRecovery

      protected void onConnectionRecovery(Provider provider) throws Exception
      Throws:
      Exception
    • onConnectionRecovered

      protected void onConnectionRecovered(Provider provider) throws Exception
      Throws:
      Exception
    • onConnectionRestored

      protected void onConnectionRestored()