Package org.apache.qpid.jms
Class JmsMessageProducer
- java.lang.Object
-
- org.apache.qpid.jms.JmsMessageProducer
-
- All Implemented Interfaces:
jakarta.jms.MessageProducer,java.lang.AutoCloseable
- Direct Known Subclasses:
JmsQueueSender,JmsTopicPublisher
public class JmsMessageProducer extends java.lang.Object implements java.lang.AutoCloseable, jakarta.jms.MessageProducerImplementation of a JMS MessageProducer
-
-
Field Summary
Fields Modifier and Type Field Description protected booleananonymousProducerprotected java.util.concurrent.atomic.AtomicBooleanclosedprotected JmsConnectionconnectionprotected longdeliveryDelayprotected intdeliveryModeprotected booleandisableMessageIdprotected booleandisableTimestampprotected java.util.concurrent.atomic.AtomicReference<java.lang.Throwable>failureCauseprotected java.util.concurrent.atomic.AtomicLongmessageSequenceprotected intpriorityprotected JmsProducerInfoproducerInfoprotected JmsSessionsessionprotected longtimeToLive
-
Constructor Summary
Constructors Modifier Constructor Description protectedJmsMessageProducer(JmsProducerId producerId, JmsSession session, JmsDestination destination)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheckClosed()voidclose()protected voiddoClose()Called to initiate shutdown of Producer resources and request that the remote peer remove the registered producer.longgetDeliveryDelay()intgetDeliveryMode()jakarta.jms.DestinationgetDestination()booleangetDisableMessageID()booleangetDisableMessageTimestamp()protected JmsMessageIDBuildergetMessageIDBuilder()protected longgetNextMessageSequence()intgetPriority()protected JmsProducerIdgetProducerId()longgetTimeToLive()protected booleanisAnonymous()protected booleanisPresettled()protected voidonConnectionInterrupted()protected voidonConnectionRecovered(Provider provider)protected voidonConnectionRecovery(Provider provider)protected voidonConnectionRestored()voidsend(jakarta.jms.Destination destination, jakarta.jms.Message message)voidsend(jakarta.jms.Destination destination, jakarta.jms.Message message, int deliveryMode, int priority, long timeToLive)voidsend(jakarta.jms.Destination destination, jakarta.jms.Message message, int deliveryMode, int priority, long timeToLive, jakarta.jms.CompletionListener listener)voidsend(jakarta.jms.Destination destination, jakarta.jms.Message message, jakarta.jms.CompletionListener listener)voidsend(jakarta.jms.Message message)voidsend(jakarta.jms.Message message, int deliveryMode, int priority, long timeToLive)voidsend(jakarta.jms.Message message, int deliveryMode, int priority, long timeToLive, jakarta.jms.CompletionListener listener)voidsend(jakarta.jms.Message message, jakarta.jms.CompletionListener listener)voidsetDeliveryDelay(long deliveryDelay)voidsetDeliveryMode(int deliveryMode)voidsetDisableMessageID(boolean value)voidsetDisableMessageTimestamp(boolean value)voidsetPriority(int defaultPriority)voidsetTimeToLive(long timeToLive)protected voidshutdown()Called to release all producer resources without requiring a destroy request to be sent to the remote peer.protected voidshutdown(java.lang.Throwable cause)
-
-
-
Field Detail
-
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 java.util.concurrent.atomic.AtomicBoolean closed
-
disableMessageId
protected boolean disableMessageId
-
disableTimestamp
protected boolean disableTimestamp
-
messageSequence
protected final java.util.concurrent.atomic.AtomicLong messageSequence
-
failureCause
protected final java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> failureCause
-
-
Constructor Detail
-
JmsMessageProducer
protected JmsMessageProducer(JmsProducerId producerId, JmsSession session, JmsDestination destination) throws jakarta.jms.JMSException
- Throws:
jakarta.jms.JMSException
-
-
Method Detail
-
close
public void close() throws jakarta.jms.JMSException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
doClose
protected void doClose() throws jakarta.jms.JMSExceptionCalled 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.JMSExceptionCalled 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(java.lang.Throwable cause) throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
getDeliveryDelay
public long getDeliveryDelay() throws jakarta.jms.JMSException- Specified by:
getDeliveryDelayin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
getDeliveryMode
public int getDeliveryMode() throws jakarta.jms.JMSException- Specified by:
getDeliveryModein interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
getDestination
public jakarta.jms.Destination getDestination() throws jakarta.jms.JMSException- Specified by:
getDestinationin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
getDisableMessageID
public boolean getDisableMessageID() throws jakarta.jms.JMSException- Specified by:
getDisableMessageIDin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
getDisableMessageTimestamp
public boolean getDisableMessageTimestamp() throws jakarta.jms.JMSException- Specified by:
getDisableMessageTimestampin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
getPriority
public int getPriority() throws jakarta.jms.JMSException- Specified by:
getPriorityin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
getTimeToLive
public long getTimeToLive() throws jakarta.jms.JMSException- Specified by:
getTimeToLivein interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
send
public void send(jakarta.jms.Message message) throws jakarta.jms.JMSException- Specified by:
sendin interfacejakarta.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:
sendin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
send
public void send(jakarta.jms.Destination destination, jakarta.jms.Message message) throws jakarta.jms.JMSException- Specified by:
sendin interfacejakarta.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:
sendin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
send
public void send(jakarta.jms.Message message, jakarta.jms.CompletionListener listener) throws jakarta.jms.JMSException- Specified by:
sendin interfacejakarta.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:
sendin interfacejakarta.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:
sendin interfacejakarta.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:
sendin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
setDeliveryDelay
public void setDeliveryDelay(long deliveryDelay) throws jakarta.jms.JMSException- Specified by:
setDeliveryDelayin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
setDeliveryMode
public void setDeliveryMode(int deliveryMode) throws jakarta.jms.JMSException- Specified by:
setDeliveryModein interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
setDisableMessageID
public void setDisableMessageID(boolean value) throws jakarta.jms.JMSException- Specified by:
setDisableMessageIDin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
setDisableMessageTimestamp
public void setDisableMessageTimestamp(boolean value) throws jakarta.jms.JMSException- Specified by:
setDisableMessageTimestampin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
setPriority
public void setPriority(int defaultPriority) throws jakarta.jms.JMSException- Specified by:
setPriorityin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
setTimeToLive
public void setTimeToLive(long timeToLive) throws jakarta.jms.JMSException- Specified by:
setTimeToLivein interfacejakarta.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 java.lang.Exception
- Throws:
java.lang.Exception
-
onConnectionRecovered
protected void onConnectionRecovered(Provider provider) throws java.lang.Exception
- Throws:
java.lang.Exception
-
onConnectionRestored
protected void onConnectionRestored()
-
-