Class MessageProducerImpl
- java.lang.Object
-
- com.swiftmq.jms.v750.MessageProducerImpl
-
- All Implemented Interfaces:
MessageProducerExtended,RequestRetryValidator,jakarta.jms.MessageProducer,java.lang.AutoCloseable
- Direct Known Subclasses:
QueueSenderImpl,TopicPublisherImpl
public class MessageProducerImpl extends java.lang.Object implements MessageProducerExtended, RequestRetryValidator
-
-
Field Summary
Fields Modifier and Type Field Description intproducerId
-
Constructor Summary
Constructors Constructor Description MessageProducerImpl(SessionImpl mySession, int producerId, RequestRegistry requestRegistry, java.lang.String myHostname, java.lang.String clientId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Since a provider may allocate some resources on behalf of a MessageProducer outside the JVM, clients should close them when they are not needed.longgetDeliveryDelay()intgetDeliveryMode()Get the producer's default delivery mode.jakarta.jms.DestinationgetDestination()booleangetDisableMessageID()Get an indication of whether message IDs are disabled.booleangetDisableMessageTimestamp()Get an indication of whether message timestamps are disabled.intgetPriority()Get the producer's default priority.longgetTimeToLive()Get the default length of time in milliseconds from its dispatch time that a produced message should be retained by the message system.voidsend(jakarta.jms.Destination dest, jakarta.jms.Message message)voidsend(jakarta.jms.Destination dest, jakarta.jms.Message message, int deliveryMode, int priority, long ttl)voidsend(jakarta.jms.Destination destination, jakarta.jms.Message message, int i, int i1, long l, jakarta.jms.CompletionListener completionListener)voidsend(jakarta.jms.Destination destination, jakarta.jms.Message message, jakarta.jms.CompletionListener completionListener)voidsend(jakarta.jms.Message message)voidsend(jakarta.jms.Message message, int deliveryMode, int priority, long ttl)voidsend(jakarta.jms.Message message, int i, int i1, long l, jakarta.jms.CompletionListener completionListener)voidsend(jakarta.jms.Message message, jakarta.jms.CompletionListener completionListener)voidsetDeliveryDelay(long l)voidsetDeliveryMode(int dm)Set the producer's default delivery mode.voidsetDestinationImpl(jakarta.jms.Destination destImpl)voidsetDisableMessageID(boolean value)Set whether message IDs are disabled.voidsetDisableMessageTimestamp(boolean value)Set whether message timestamps are disabled.voidsetPriority(int prio)Set the producer's default priority.voidsetSkipMessageInits(boolean skipMessageInits)voidsetTimeToLive(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.voidvalidate(Request request)protected voidverifyLocalState()protected voidverifyState()
-
-
-
Constructor Detail
-
MessageProducerImpl
public MessageProducerImpl(SessionImpl mySession, int producerId, RequestRegistry requestRegistry, java.lang.String myHostname, java.lang.String clientId)
-
-
Method Detail
-
setSkipMessageInits
public void setSkipMessageInits(boolean skipMessageInits)
- Specified by:
setSkipMessageInitsin interfaceMessageProducerExtended
-
validate
public void validate(Request request) throws ValidationException
- Specified by:
validatein interfaceRequestRetryValidator- Throws:
ValidationException
-
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:
getDestinationin 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 ttl) throws jakarta.jms.JMSException- Specified by:
sendin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
send
public void send(jakarta.jms.Destination dest, 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 dest, jakarta.jms.Message message, int deliveryMode, int priority, long ttl) throws jakarta.jms.JMSException- Specified by:
sendin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
getDisableMessageID
public boolean getDisableMessageID() throws jakarta.jms.JMSExceptionGet an indication of whether message IDs are disabled.- Specified by:
getDisableMessageIDin interfacejakarta.jms.MessageProducer- Returns:
- an indication of whether message IDs are disabled.
- Throws:
jakarta.jms.JMSException
-
setDisableMessageID
public void setDisableMessageID(boolean value) throws jakarta.jms.JMSExceptionSet 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:
setDisableMessageIDin interfacejakarta.jms.MessageProducer- Parameters:
value- indicates if message IDs are disabled.- Throws:
jakarta.jms.JMSException
-
getDisableMessageTimestamp
public boolean getDisableMessageTimestamp() throws jakarta.jms.JMSExceptionGet an indication of whether message timestamps are disabled.- Specified by:
getDisableMessageTimestampin interfacejakarta.jms.MessageProducer- Returns:
- an indication of whether message IDs are disabled.
- Throws:
jakarta.jms.JMSException
-
setDisableMessageTimestamp
public void setDisableMessageTimestamp(boolean value) throws jakarta.jms.JMSExceptionSet 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:
setDisableMessageTimestampin interfacejakarta.jms.MessageProducer- Parameters:
value- indicates if message timestamps are disabled.- Throws:
jakarta.jms.JMSException
-
getDeliveryMode
public int getDeliveryMode() throws jakarta.jms.JMSExceptionGet the producer's default delivery mode.- Specified by:
getDeliveryModein interfacejakarta.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.JMSExceptionSet the producer's default delivery mode.Delivery mode is set to PERSISTENT by default.
- Specified by:
setDeliveryModein interfacejakarta.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.JMSExceptionGet the producer's default priority.- Specified by:
getPriorityin interfacejakarta.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.JMSExceptionSet the producer's default priority.Priority is set to 4, by default.
- Specified by:
setPriorityin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException- See Also:
MessageProducer.getPriority()
-
getTimeToLive
public long getTimeToLive() throws jakarta.jms.JMSExceptionGet the default length of time in milliseconds from its dispatch time that a produced message should be retained by the message system.- Specified by:
getTimeToLivein interfacejakarta.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.JMSExceptionSet 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:
setTimeToLivein interfacejakarta.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.JMSExceptionSince 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:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
setDeliveryDelay
public void setDeliveryDelay(long l) throws jakarta.jms.JMSException- Specified by:
setDeliveryDelayin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
getDeliveryDelay
public long getDeliveryDelay() throws jakarta.jms.JMSException- Specified by:
getDeliveryDelayin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
send
public void send(jakarta.jms.Message message, jakarta.jms.CompletionListener completionListener) throws jakarta.jms.JMSException- Specified by:
sendin interfacejakarta.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:
sendin interfacejakarta.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:
sendin interfacejakarta.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:
sendin interfacejakarta.jms.MessageProducer- Throws:
jakarta.jms.JMSException
-
-