Class MessageProducerImpl

    • Field Summary

      Fields 
      Modifier and Type Field Description
      int producerId  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Since a provider may allocate some resources on behalf of a MessageProducer outside the JVM, clients should close them when they are not needed.
      long getDeliveryDelay()  
      int getDeliveryMode()
      Get the producer's default delivery mode.
      jakarta.jms.Destination getDestination()  
      boolean getDisableMessageID()
      Get an indication of whether message IDs are disabled.
      boolean getDisableMessageTimestamp()
      Get an indication of whether message timestamps are disabled.
      int getPriority()
      Get the producer's default priority.
      long getTimeToLive()
      Get the default length of time in milliseconds from its dispatch time that a produced message should be retained by the message system.
      void send​(jakarta.jms.Destination dest, jakarta.jms.Message message)  
      void send​(jakarta.jms.Destination dest, jakarta.jms.Message message, int deliveryMode, int priority, long ttl)  
      void send​(jakarta.jms.Destination destination, jakarta.jms.Message message, int i, int i1, long l, jakarta.jms.CompletionListener completionListener)  
      void send​(jakarta.jms.Destination destination, jakarta.jms.Message message, jakarta.jms.CompletionListener completionListener)  
      void send​(jakarta.jms.Message message)  
      void send​(jakarta.jms.Message message, int deliveryMode, int priority, long ttl)  
      void send​(jakarta.jms.Message message, int i, int i1, long l, jakarta.jms.CompletionListener completionListener)  
      void send​(jakarta.jms.Message message, jakarta.jms.CompletionListener completionListener)  
      void setDeliveryDelay​(long l)  
      void setDeliveryMode​(int dm)
      Set the producer's default delivery mode.
      void setDestinationImpl​(jakarta.jms.Destination destImpl)  
      void setDisableMessageID​(boolean value)
      Set whether message IDs are disabled.
      void setDisableMessageTimestamp​(boolean value)
      Set whether message timestamps are disabled.
      void setPriority​(int prio)
      Set the producer's default priority.
      void setSkipMessageInits​(boolean skipMessageInits)  
      void setTimeToLive​(long ttl)
      Set the default length of time in milliseconds from its dispatch time that a produced message should be retained by the message system.
      void validate​(Request request)  
      protected void verifyLocalState()  
      protected void verifyState()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • producerId

        public volatile int producerId
    • Constructor Detail

      • MessageProducerImpl

        public MessageProducerImpl​(SessionImpl mySession,
                                   int producerId,
                                   RequestRegistry requestRegistry,
                                   java.lang.String myHostname,
                                   java.lang.String clientId)
    • Method Detail

      • verifyLocalState

        protected void verifyLocalState()
                                 throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • verifyState

        protected void verifyState()
                            throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • setDestinationImpl

        public void setDestinationImpl​(jakarta.jms.Destination destImpl)
      • getDestination

        public jakarta.jms.Destination getDestination()
                                               throws jakarta.jms.JMSException
        Specified by:
        getDestination 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 ttl)
                  throws jakarta.jms.JMSException
        Specified by:
        send in interface jakarta.jms.MessageProducer
        Throws:
        jakarta.jms.JMSException
      • send

        public void send​(jakarta.jms.Destination dest,
                         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 dest,
                         jakarta.jms.Message message,
                         int deliveryMode,
                         int priority,
                         long ttl)
                  throws jakarta.jms.JMSException
        Specified by:
        send in interface jakarta.jms.MessageProducer
        Throws:
        jakarta.jms.JMSException
      • getDisableMessageID

        public boolean getDisableMessageID()
                                    throws jakarta.jms.JMSException
        Get an indication of whether message IDs are disabled.
        Specified by:
        getDisableMessageID in interface jakarta.jms.MessageProducer
        Returns:
        an indication of whether message IDs are disabled.
        Throws:
        jakarta.jms.JMSException
      • setDisableMessageID

        public void setDisableMessageID​(boolean value)
                                 throws jakarta.jms.JMSException
        Set whether message IDs are disabled.

        Since message ID's take some effort to create and increase a message's size, some JMS providers may be able to optimize message overhead if they are given a hint that message ID is not used by an application. JMS message Producers provide a hint to disable message ID. When a client sets a Producer to disable message ID they are saying that they do not depend on the value of message ID for the messages it produces. These messages must either have message ID set to null or, if the hint is ignored, messageID must be set to its normal unique value.

        Message IDs are enabled by default.

        Specified by:
        setDisableMessageID in interface jakarta.jms.MessageProducer
        Parameters:
        value - indicates if message IDs are disabled.
        Throws:
        jakarta.jms.JMSException
      • getDisableMessageTimestamp

        public boolean getDisableMessageTimestamp()
                                           throws jakarta.jms.JMSException
        Get an indication of whether message timestamps are disabled.
        Specified by:
        getDisableMessageTimestamp in interface jakarta.jms.MessageProducer
        Returns:
        an indication of whether message IDs are disabled.
        Throws:
        jakarta.jms.JMSException
      • setDisableMessageTimestamp

        public void setDisableMessageTimestamp​(boolean value)
                                        throws jakarta.jms.JMSException
        Set whether message timestamps are disabled.

        Since timestamps take some effort to create and increase a message's size, some JMS providers may be able to optimize message overhead if they are given a hint that timestamp is not used by an application. JMS message Producers provide a hint to disable timestamps. When a client sets a producer to disable timestamps they are saying that they do not depend on the value of timestamp for the messages it produces. These messages must either have timestamp set to null or, if the hint is ignored, timestamp must be set to its normal value.

        Message timestamps are enabled by default.

        Specified by:
        setDisableMessageTimestamp in interface jakarta.jms.MessageProducer
        Parameters:
        value - indicates if message timestamps are disabled.
        Throws:
        jakarta.jms.JMSException
      • getDeliveryMode

        public int getDeliveryMode()
                            throws jakarta.jms.JMSException
        Get the producer's default delivery mode.
        Specified by:
        getDeliveryMode in interface jakarta.jms.MessageProducer
        Returns:
        the message delivery mode for this message producer.
        Throws:
        jakarta.jms.JMSException
        See Also:
        MessageProducer.setDeliveryMode(int)
      • setDeliveryMode

        public void setDeliveryMode​(int dm)
                             throws jakarta.jms.JMSException
        Set the producer's default delivery mode.

        Delivery mode is set to PERSISTENT by default.

        Specified by:
        setDeliveryMode in interface jakarta.jms.MessageProducer
        Parameters:
        dm - the message delivery mode for this message producer.
        Throws:
        jakarta.jms.JMSException
        See Also:
        MessageProducer.getDeliveryMode()
      • getPriority

        public int getPriority()
                        throws jakarta.jms.JMSException
        Get the producer's default priority.
        Specified by:
        getPriority in interface jakarta.jms.MessageProducer
        Returns:
        the message priority for this message producer.
        Throws:
        jakarta.jms.JMSException
        See Also:
        MessageProducer.setPriority(int)
      • setPriority

        public void setPriority​(int prio)
                         throws jakarta.jms.JMSException
        Set the producer's default priority.

        Priority is set to 4, by default.

        Specified by:
        setPriority in interface jakarta.jms.MessageProducer
        Throws:
        jakarta.jms.JMSException
        See Also:
        MessageProducer.getPriority()
      • getTimeToLive

        public long getTimeToLive()
                           throws jakarta.jms.JMSException
        Get the default length of time in milliseconds from its dispatch time that a produced message should be retained by the message system.
        Specified by:
        getTimeToLive in interface jakarta.jms.MessageProducer
        Returns:
        the message time to live in milliseconds; zero is unlimited
        Throws:
        jakarta.jms.JMSException
        See Also:
        MessageProducer.setTimeToLive(long)
      • setTimeToLive

        public void setTimeToLive​(long ttl)
                           throws jakarta.jms.JMSException
        Set the default length of time in milliseconds from its dispatch time that a produced message should be retained by the message system.

        Time to live is set to zero by default.

        Specified by:
        setTimeToLive in interface jakarta.jms.MessageProducer
        Parameters:
        ttl - the message time to live in milliseconds; zero is unlimited
        Throws:
        jakarta.jms.JMSException
        See Also:
        MessageProducer.getTimeToLive()
      • close

        public void close()
                   throws jakarta.jms.JMSException
        Since a provider may allocate some resources on behalf of a MessageProducer outside the JVM, clients should close them when they are not needed. Relying on garbage collection to eventually reclaim these resources may not be timely enough.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface jakarta.jms.MessageProducer
        Throws:
        jakarta.jms.JMSException
      • setDeliveryDelay

        public void setDeliveryDelay​(long l)
                              throws jakarta.jms.JMSException
        Specified by:
        setDeliveryDelay in interface jakarta.jms.MessageProducer
        Throws:
        jakarta.jms.JMSException
      • getDeliveryDelay

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

        public void send​(jakarta.jms.Message message,
                         jakarta.jms.CompletionListener completionListener)
                  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 i,
                         int i1,
                         long l,
                         jakarta.jms.CompletionListener completionListener)
                  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 completionListener)
                  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 i,
                         int i1,
                         long l,
                         jakarta.jms.CompletionListener completionListener)
                  throws jakarta.jms.JMSException
        Specified by:
        send in interface jakarta.jms.MessageProducer
        Throws:
        jakarta.jms.JMSException