Package org.apache.qpid.jms
Class JmsMessageProducer
- java.lang.Object
-
- org.apache.qpid.jms.JmsMessageProducer
-
- All Implemented Interfaces:
AutoCloseable,javax.jms.MessageProducer
- Direct Known Subclasses:
JmsQueueSender,JmsTopicPublisher
public class JmsMessageProducer extends Object implements AutoCloseable, javax.jms.MessageProducer
Implementation of a JMS MessageProducer
-
-
Field Summary
Fields Modifier and Type Field Description protected booleananonymousProducerprotected AtomicBooleanclosedprotected JmsConnectionconnectionprotected longdeliveryDelayprotected intdeliveryModeprotected booleandisableMessageIdprotected booleandisableTimestampprotected AtomicReference<Throwable>failureCauseprotected 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()javax.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(javax.jms.Destination destination, javax.jms.Message message)voidsend(javax.jms.Destination destination, javax.jms.Message message, int deliveryMode, int priority, long timeToLive)voidsend(javax.jms.Destination destination, javax.jms.Message message, int deliveryMode, int priority, long timeToLive, javax.jms.CompletionListener listener)voidsend(javax.jms.Destination destination, javax.jms.Message message, javax.jms.CompletionListener listener)voidsend(javax.jms.Message message)voidsend(javax.jms.Message message, int deliveryMode, int priority, long timeToLive)voidsend(javax.jms.Message message, int deliveryMode, int priority, long timeToLive, javax.jms.CompletionListener listener)voidsend(javax.jms.Message message, javax.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(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 AtomicBoolean closed
-
disableMessageId
protected boolean disableMessageId
-
disableTimestamp
protected boolean disableTimestamp
-
messageSequence
protected final AtomicLong messageSequence
-
failureCause
protected final AtomicReference<Throwable> failureCause
-
-
Constructor Detail
-
JmsMessageProducer
protected JmsMessageProducer(JmsProducerId producerId, JmsSession session, JmsDestination destination) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
-
Method Detail
-
close
public void close() throws javax.jms.JMSException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
doClose
protected void doClose() throws javax.jms.JMSExceptionCalled to initiate shutdown of Producer resources and request that the remote peer remove the registered producer.- Throws:
javax.jms.JMSException- if an internal error occurs during the close operation.
-
shutdown
protected void shutdown() throws javax.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:
javax.jms.JMSException- if an internal error occurs during the shutdown operation.
-
shutdown
protected void shutdown(Throwable cause) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
getDeliveryDelay
public long getDeliveryDelay() throws javax.jms.JMSException- Specified by:
getDeliveryDelayin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
getDeliveryMode
public int getDeliveryMode() throws javax.jms.JMSException- Specified by:
getDeliveryModein interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
getDestination
public javax.jms.Destination getDestination() throws javax.jms.JMSException- Specified by:
getDestinationin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
getDisableMessageID
public boolean getDisableMessageID() throws javax.jms.JMSException- Specified by:
getDisableMessageIDin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
getDisableMessageTimestamp
public boolean getDisableMessageTimestamp() throws javax.jms.JMSException- Specified by:
getDisableMessageTimestampin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
getPriority
public int getPriority() throws javax.jms.JMSException- Specified by:
getPriorityin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
getTimeToLive
public long getTimeToLive() throws javax.jms.JMSException- Specified by:
getTimeToLivein interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
send
public void send(javax.jms.Message message) throws javax.jms.JMSException- Specified by:
sendin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
send
public void send(javax.jms.Message message, int deliveryMode, int priority, long timeToLive) throws javax.jms.JMSException- Specified by:
sendin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
send
public void send(javax.jms.Destination destination, javax.jms.Message message) throws javax.jms.JMSException- Specified by:
sendin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
send
public void send(javax.jms.Destination destination, javax.jms.Message message, int deliveryMode, int priority, long timeToLive) throws javax.jms.JMSException- Specified by:
sendin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
send
public void send(javax.jms.Message message, javax.jms.CompletionListener listener) throws javax.jms.JMSException- Specified by:
sendin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
send
public void send(javax.jms.Message message, int deliveryMode, int priority, long timeToLive, javax.jms.CompletionListener listener) throws javax.jms.JMSException- Specified by:
sendin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
send
public void send(javax.jms.Destination destination, javax.jms.Message message, javax.jms.CompletionListener listener) throws javax.jms.JMSException- Specified by:
sendin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
send
public void send(javax.jms.Destination destination, javax.jms.Message message, int deliveryMode, int priority, long timeToLive, javax.jms.CompletionListener listener) throws javax.jms.JMSException- Specified by:
sendin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
setDeliveryDelay
public void setDeliveryDelay(long deliveryDelay) throws javax.jms.JMSException- Specified by:
setDeliveryDelayin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
setDeliveryMode
public void setDeliveryMode(int deliveryMode) throws javax.jms.JMSException- Specified by:
setDeliveryModein interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
setDisableMessageID
public void setDisableMessageID(boolean value) throws javax.jms.JMSException- Specified by:
setDisableMessageIDin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
setDisableMessageTimestamp
public void setDisableMessageTimestamp(boolean value) throws javax.jms.JMSException- Specified by:
setDisableMessageTimestampin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
setPriority
public void setPriority(int defaultPriority) throws javax.jms.JMSException- Specified by:
setPriorityin interfacejavax.jms.MessageProducer- Throws:
javax.jms.JMSException
-
setTimeToLive
public void setTimeToLive(long timeToLive) throws javax.jms.JMSException- Specified by:
setTimeToLivein interfacejavax.jms.MessageProducer- Throws:
javax.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 javax.jms.IllegalStateException- Throws:
javax.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()
-
-