Habari STOMP Client for OpenMQ 9.0
Object Pascal STOMP client library for OpenMQ
Loading...
Searching...
No Matches
TBTMessageConsumer Class Reference

A client uses a MessageConsumer object to receive messages from a destination. More...

Inheritance diagram for TBTMessageConsumer:
IConsumerIDProvider IMessageConsumer TBTTopicSubscriber

Public Member Functions

 TBTMessageConsumer (const TBTSession Session, const TBTConsumerID ConsumerID, const IDestination Destination, const string Name, const string Selector, const Boolean NoLocal, const IMessageListener Listener)
 
 ~TBTMessageConsumer ()
 
 Close ()
 Closes the message consumer.
 
string GetMessageSelector ()
 
IMessage Receive ()
 
IMessage Receive (const Integer Timeout)
 
IMessage ReceiveNoWait ()
 Receives the next message if one is immediately available.
 
 Start ()
 
 Stop ()
 
- Public Member Functions inherited from IConsumerIDProvider
TBTConsumerID GetConsumerID ()
 

Protected Attributes

Boolean NoLocal
 

Detailed Description

A client uses a MessageConsumer object to receive messages from a destination.

A MessageConsumer object is created by passing a Destination object to a message-consumer creation method supplied by a session.

MessageConsumer is the parent interface for all message consumers.

A message consumer can be created with a message selector. A message selector allows the client to restrict the messages delivered to the message consumer to those that match the selector.

A client may either synchronously receive a message consumer's messages or have the consumer asynchronously deliver them as they arrive.

For synchronous receipt, a client can request the next message from a message consumer using one of its receive methods. There are several variations of receive that allow a client to poll or wait for the next message.

For asynchronous delivery, a client can register a MessageListener object with a message consumer. As messages arrive at the message consumer, it delivers them by calling the MessageListener's onMessage method.

It is a client programming error for a MessageListener to throw an exception.

Constructor & Destructor Documentation

◆ TBTMessageConsumer()

TBTMessageConsumer::TBTMessageConsumer ( const TBTSession Session,
const TBTConsumerID ConsumerID,
const IDestination Destination,
const string Name,
const string Selector,
const Boolean NoLocal,
const IMessageListener Listener )

◆ ~TBTMessageConsumer()

TBTMessageConsumer::~TBTMessageConsumer ( )

Member Function Documentation

◆ Close()

TBTMessageConsumer::Close ( )

Closes the message consumer.

Since a provider may allocate some resources on behalf of a MessageConsumer, clients should close them when they are not needed.

Exceptions
EMQException

◆ GetMessageSelector()

string TBTMessageConsumer::GetMessageSelector ( )

◆ Receive() [1/2]

IMessage TBTMessageConsumer::Receive ( )

◆ Receive() [2/2]

IMessage TBTMessageConsumer::Receive ( const Integer Timeout)

◆ ReceiveNoWait()

IMessage TBTMessageConsumer::ReceiveNoWait ( )

Receives the next message if one is immediately available.

◆ Start()

TBTMessageConsumer::Start ( )

◆ Stop()

TBTMessageConsumer::Stop ( )

Member Data Documentation

◆ NoLocal

Boolean TBTMessageConsumer::NoLocal
protected
See also
FNoLocal For reading