public class AQjmsConsumer extends oracle.jms.AQjmsObject implements AQjmsQueueReceiver, AQjmsTopicSubscriber, AQjmsTopicReceiver
oracle.jms.AQjmsQueueReceiver
, oracle.jms.AQjmsTopicSubscriber
and oracle.jms.AQjmsTopicReceiver
.Modifier and Type | Method and Description |
---|---|
Message |
bufferReceive()
Receives the next message from both the in-memory and persistent portion of the queue.
|
Message |
bufferReceive(long timeout)
Receives the next message from both the in-memory and persistent portion of the queue if one is available within the specified timeout.
|
Message |
bufferReceiveNoWait()
Receives the next message from both the in-memory and persistent portion of the queue if one is immediately available.
|
void |
close()
Public for test harness purposes
|
MessageListener |
getMessageListener()
Gets this message consumer's
MessageListener . |
java.lang.String |
getMessageSelector()
Gets this message consumer's message selector expression.
|
int |
getNavigationMode()
Gets the navigation mode used for receiving messages.
|
boolean |
getNoLocal()
Gets the
NoLocal attribute for this TopicSubscriber . |
Queue |
getQueue()
Gets the queue associated with this queue receiver.
|
Topic |
getTopic()
Gets the topic associated with this topic subscriber.
|
java.lang.String |
getTransformation()
Gets this consumer's transformation.
|
Message |
receive()
Receives the next message.
|
Message |
receive(long timeout)
Receives the next message if one is available within the specified timeout.
|
void |
receiveNoData()
Consumes the message without returning it to the user.
|
void |
receiveNoData(long timeout)
Consumes the message without returning it to the user.
|
Message |
receiveNoWait()
Receives the next message if one is immediately available.
|
void |
setMessageListener(MessageListener myListener)
Set this message consumer's
MessageListener . |
void |
setNavigationMode(int mode)
Sets the navigation mode used for receiving messages.
|
void |
setTransformation(java.lang.String transformation)
Sets this consumer's transformation.
|
checkClosed, children, finalize, getID, getParent, isOpen, localClose, preClose
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
receive
receive, receive, receiveSignature, receiveSignature
public java.lang.String getMessageSelector() throws JMSException
getMessageSelector
in interface MessageConsumer
JMSException
- if this consumer has already been closed.AQjmsConsumer.close()
public MessageListener getMessageListener() throws JMSException
MessageListener
.getMessageListener
in interface MessageConsumer
null
if no listener is setJMSException
- if:
AQjmsConsumer.close()
, AQjmsSession.setMessageListener(javax.jms.MessageListener)
public void setMessageListener(MessageListener myListener) throws JMSException
MessageListener
. Once set, myListener
's MessageListener.onMessage(javax.jms.Message)
method is called when there are messages for this consumer.setMessageListener
in interface MessageConsumer
myListener
- the listener to which incoming messages are to be sentJMSException
- if:
AQjmsConsumer.close()
, AQjmsSession.setMessageListener(javax.jms.MessageListener)
public Message receive() throws JMSException
Blocks indefinitely until a message is received or this consumer is closed.
receive
in interface MessageConsumer
null
if the receive was pending and was then terminated due to this consumer being closedJMSException
- if the next message is not received due to some error.public Message receiveNoWait() throws JMSException
receiveNoWait
in interface MessageConsumer
null
if none are immediately availableJMSException
- if the next message is not received due to some error.public Message receive(long timeout) throws JMSException
Blocks until a message is received, the timeout expires, or this consumer is closed. A timeout
of zero never expires.
receive
in interface MessageConsumer
timeout
- the timeout value (in milliseconds)null
if none are available in timeJMSException
- if the next message is not received due to some error.public Message bufferReceive() throws JMSException
Blocks indefinitely until a message is received or this consumer is closed.
null
if the receive was pending and was then terminated due to this consumer being closedJMSException
- if the next message is not received due to some error.public Message bufferReceiveNoWait() throws JMSException
null
if none are immediately availableJMSException
- if the next message is not received due to some error.public Message bufferReceive(long timeout) throws JMSException
Blocks until a message is received, the timeout expires, or this consumer is closed. A timeout
of zero never expires.
timeout
- the timeout value (in milliseconds)null
if none are available in timeJMSException
- if the next message is not received due to some error.public void close() throws JMSException
oracle.jms.AQjmsObject
close
in interface MessageConsumer
close
in class oracle.jms.AQjmsObject
JMSException
- if the JMS provider fails to close the consumer due to some internal error.public Queue getQueue() throws JMSException
getQueue
in interface QueueReceiver
JMSException
- if called on a topic subscriber.public Topic getTopic() throws JMSException
getTopic
in interface TopicSubscriber
getTopic
in interface TopicReceiver
JMSException
- if called on a queue receiver.public boolean getNoLocal() throws JMSException
NoLocal
attribute for this TopicSubscriber
. The default value for this attribute is false
.getNoLocal
in interface TopicSubscriber
true
if locally published messages are being inhibited.JMSException
- if this method is called on a queue receiver.public int getNavigationMode() throws JMSException
AQjmsConstants.NAVIGATION_FIRST_MESSAGE
AQjmsConstants.NAVIGATION_NEXT_MESSAGE
AQjmsConstants.NAVIGATION_NEXT_TRANSACTION
getNavigationMode
in interface AQjmsQueueReceiver
getNavigationMode
in interface AQjmsTopicReceiver
getNavigationMode
in interface AQjmsTopicSubscriber
JMSException
- if this consumer has already been closed.public void setNavigationMode(int mode) throws JMSException
AQjmsConstants.NAVIGATION_FIRST_MESSAGE
AQjmsConstants.NAVIGATION_NEXT_MESSAGE
AQjmsConstants.NAVIGATION_NEXT_TRANSACTION
setNavigationMode
in interface AQjmsQueueReceiver
setNavigationMode
in interface AQjmsTopicReceiver
setNavigationMode
in interface AQjmsTopicSubscriber
mode
- the new navigation mode for this consumerJMSException
- if:
mode
does not match any of the above listed navigation modes.public void setTransformation(java.lang.String transformation)
setTransformation
in interface AQjmsQueueReceiver
setTransformation
in interface AQjmsTopicReceiver
transformation
- the transformation to use when getting messagespublic java.lang.String getTransformation()
getTransformation
in interface AQjmsQueueReceiver
getTransformation
in interface AQjmsTopicReceiver
public void receiveNoData() throws JMSException
Blocks indefinitely until a message is received or this consumer is closed.
receiveNoData
in interface AQjmsQueueReceiver
receiveNoData
in interface AQjmsTopicReceiver
receiveNoData
in interface AQjmsTopicSubscriber
JMSException
- if the message could not be received due to some error.public void receiveNoData(long timeout) throws JMSException
Blocks until a message is received, the timeout expires, or this consumer is closed. A timeout
of zero never expires.
receiveNoData
in interface AQjmsQueueReceiver
receiveNoData
in interface AQjmsTopicReceiver
receiveNoData
in interface AQjmsTopicSubscriber
timeout
- the timeout value in millisecondsJMSException
- if the message could not be received due to some error.