Package org.apache.qpid.jms
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 Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanprotected final AtomicBooleanprotected final JmsConnectionprotected longprotected intprotected booleanprotected booleanprotected final AtomicReference<Throwable>protected final AtomicLongprotected intprotected JmsProducerInfoprotected final JmsSessionprotected long -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJmsMessageProducer(JmsProducerId producerId, JmsSession session, JmsDestination destination) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidclose()protected voiddoClose()Called to initiate shutdown of Producer resources and request that the remote peer remove the registered producer.longintjakarta.jms.Destinationbooleanbooleanprotected JmsMessageIDBuilderprotected longintprotected JmsProducerIdlongprotected booleanprotected booleanprotected voidprotected voidonConnectionRecovered(Provider provider) protected voidonConnectionRecovery(Provider provider) protected voidvoidsend(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 void
-
Field Details
-
session
-
connection
-
producerInfo
-
anonymousProducer
protected final boolean anonymousProducer -
deliveryDelay
protected long deliveryDelay -
deliveryMode
protected int deliveryMode -
priority
protected int priority -
timeToLive
protected long timeToLive -
closed
-
disableMessageId
protected boolean disableMessageId -
disableTimestamp
protected boolean disableTimestamp -
messageSequence
-
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:
closein interfaceAutoCloseable- 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
- 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
- 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
-
onConnectionInterrupted
protected void onConnectionInterrupted() -
onConnectionRecovery
- Throws:
Exception
-
onConnectionRecovered
- Throws:
Exception
-
onConnectionRestored
protected void onConnectionRestored()
-