Package com.ibm.mq.jms
Class MQMessageConsumer
java.lang.Object
com.ibm.mq.jms.MQRoot
com.ibm.mq.jms.MQMessageConsumer
- All Implemented Interfaces:
JmsMessageConsumer,JmsPropertyContext,JmsReadablePropertyContext,Serializable,AutoCloseable,Map<String,,Object> javax.jms.MessageConsumer
- Direct Known Subclasses:
MQQueueReceiver,MQTopicSubscriber
public class MQMessageConsumer
extends MQRoot
implements javax.jms.MessageConsumer, JmsMessageConsumer
MQMessageConsumer is the parent interface for all message consumers. A client uses a message
consumer to receive messages from a destination.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes the message consumer.javax.jms.DestinationGets the message destination.javax.jms.MessageListenerGets the message consumer's message listener.Gets this message consumer's message selector expression.booleanIndicates whether locally published messages are inhibited.javax.jms.Messagereceive()Receives the next message produced for this message consumer.javax.jms.Messagereceive(long timeout) Receives the next message that arrives within the specified timeout interval.javax.jms.MessageReceives the next message if one is immediately available.voidsetMessageListener(javax.jms.MessageListener listener) Sets the message consumer's message listener.Methods inherited from class com.ibm.mq.jms.MQRoot
clear, containsKey, containsValue, entrySet, equals, get, getBooleanProperty, getByteProperty, getBytesProperty, getCharProperty, getDoubleProperty, getFloatProperty, getIntProperty, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, hashCode, isEmpty, keySet, propertyExists, put, putAll, remove, setBatchProperties, setBooleanProperty, setByteProperty, setBytesProperty, setCharProperty, setDoubleProperty, setFloatProperty, setIntProperty, setLongProperty, setObjectProperty, setShortProperty, setStringProperty, size, valuesMethods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.ibm.msg.client.jms.JmsPropertyContext
setBatchProperties, setBooleanProperty, setByteProperty, setBytesProperty, setCharProperty, setDoubleProperty, setFloatProperty, setIntProperty, setLongProperty, setObjectProperty, setShortProperty, setStringProperty, toJsonMethods inherited from interface com.ibm.msg.client.jms.JmsReadablePropertyContext
getBooleanProperty, getByteProperty, getBytesProperty, getCharProperty, getDoubleProperty, getFloatProperty, getIntProperty, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, propertyExists, stringifyMeMethods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
Method Details
-
close
public void close() throws javax.jms.JMSExceptionCloses the message consumer. Because a provider can allocate some resources outside the Java Virtual Machine on behalf of message consumers, clients must close them when they are not needed. You cannot rely on garbage collection to reclaim these resources eventually because this might not occur soon enough. This call blocks until a receive() or active message listener has completed.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejavax.jms.MessageConsumer- Throws:
javax.jms.JMSException- if the operation fails.
-
getDestination
public javax.jms.Destination getDestination() throws javax.jms.JMSExceptionGets the message destination.- Returns:
- the destination - either queue or topic.
- Throws:
javax.jms.JMSException- if the operation fails.
-
getMessageListener
public javax.jms.MessageListener getMessageListener() throws javax.jms.JMSExceptionGets the message consumer's message listener.- Specified by:
getMessageListenerin interfacejavax.jms.MessageConsumer- Returns:
- the listener for the message consumer, or null if a listener is not set.
- Throws:
javax.jms.JMSException- if the operation fails.
-
getMessageSelector
Gets this message consumer's message selector expression.- Specified by:
getMessageSelectorin interfacejavax.jms.MessageConsumer- Returns:
- this message consumer's message selector.
- Throws:
javax.jms.JMSException- if the operation fails.
-
receive
public javax.jms.Message receive() throws javax.jms.JMSExceptionReceives the next message produced for this message consumer.This call blocks indefinitely until a message is produced or until this message consumer is closed.
If this receive() is done within a transaction, the consumer retains the message until the transaction commits.
- Specified by:
receivein interfacejavax.jms.MessageConsumer- Returns:
- the next message produced for this message consumer, or null if this message consumer is concurrently closed
- Throws:
javax.jms.JMSException- if the JMS provider fails to receive the next message due to an internal error.
-
receive
public javax.jms.Message receive(long timeout) throws javax.jms.JMSException Receives the next message that arrives within the specified timeout interval.This call blocks until a message arrives, the timeout expires, or this message consumer is closed. A timeout of zero never expires, and the call blocks indefinitely.
- Specified by:
receivein interfacejavax.jms.MessageConsumer- Parameters:
timeout- the timeout value (milliseconds)- Returns:
- the next message produced for this message consumer, or null if the timeout expires, or this message consumer is concurrently closed
- Throws:
javax.jms.JMSException- if the JMS provider fails to receive the next message due to an internal error.
-
receiveNoWait
public javax.jms.Message receiveNoWait() throws javax.jms.JMSExceptionReceives the next message if one is immediately available.- Specified by:
receiveNoWaitin interfacejavax.jms.MessageConsumer- Returns:
- the next message produced for this message consumer, or null if one is not available
- Throws:
javax.jms.JMSException- if the JMS provider fails to receive the next message due to an internal error.
-
setMessageListener
public void setMessageListener(javax.jms.MessageListener listener) throws javax.jms.JMSException Sets the message consumer's message listener.- Specified by:
setMessageListenerin interfacejavax.jms.MessageConsumer- Parameters:
listener- the messages are delivered to this listener.- Throws:
javax.jms.JMSException- if the operation fails.- See Also:
-
getNoLocal
public boolean getNoLocal() throws javax.jms.JMSExceptionIndicates whether locally published messages are inhibited.- Specified by:
getNoLocalin interfaceJmsMessageConsumer- Returns:
- set to true if locally published messages are being inhibited.
- Throws:
javax.jms.JMSException- if the message consumer is closed
-