Habari STOMP Client for RabbitMQ 9.4
Object Pascal STOMP client library for RabbitMQ
Loading...
Searching...
No Matches
IMessageProducer Interface Reference

A client uses an IMessageProducer object to send messages to a destination. More...

Inheritance diagram for IMessageProducer:
TBTMessageProducer

Public Member Functions

 Close ()
 Closes the message producer.
 Send (const IMessage Message)
 Sends a message using the IMessageProducer's default delivery mode, priority, and time to live.
 Send (const IDestination Destination, const IMessage Message)
 Sends a message to a destination for an unidentified message producer.
 Send (const IMessage Message, const TJMSDeliveryMode DeliveryMode, const Integer Priority, const Integer TimeToLive)
 Sends a message to the destination, specifying delivery mode, priority, and time to live.
 Send (const IDestination Destination, const IMessage Message, const TJMSDeliveryMode DeliveryMode, const Integer Priority, const Integer TimeToLive)
 Sends a message to a destination for an unidentified message producer, specifying delivery mode, priority and time to live.

Public Attributes

TJMSDeliveryMode DeliveryMode
 The delivery mode to use.
Integer Priority
 The priority used for outgoing messages.
Cardinal TimeToLive
 The outgoing message's lifetime (in milliseconds).

Detailed Description

A client uses an IMessageProducer object to send messages to a destination.

An IMessageProducer object is created by passing a IDestination object to a message-producer creation method supplied by a session.

MessageProducer is the parent interface for all message producers.

A client also has the option of creating a message producer without supplying a destination. In this case, a destination must be provided with every send operation. A typical use for this kind of message producer is to send replies to requests using the request's JMSReplyTo destination.

A client can specify a default delivery mode, priority, and time to live for messages sent by a message producer. It can also specify the delivery mode, priority, and time to live for an individual message.

A client can specify a time-to-live value in milliseconds for each message it sends. This value defines a message expiration time that is the sum of the message's time-to-live and the GMT when it is sent (for transacted sends, this is the time the client sends the message, not the time the transaction is committed).

Member Function Documentation

◆ Close()

IMessageProducer::Close ( )

Closes the message producer.

Exceptions
EMQExceptionif the provider fails to close the producer due to some internal error.

Implemented in TBTMessageProducer.

◆ Send() [1/4]

IMessageProducer::Send ( const IDestination Destination,
const IMessage Message )

Sends a message to a destination for an unidentified message producer.

Uses the IMessageProducer's default delivery mode, priority, and time to live.

Typically, a message producer is assigned a destination at creation time; however, the API also supports unidentified message producers, which require that the destination be supplied every time a message is sent.

Parameters
Destinationthe destination to send this message to
Messagethe message to send
Exceptions
EMQExceptionif the provider fails to send the message due to some internal error.

Implemented in TBTMessageProducer.

◆ Send() [2/4]

IMessageProducer::Send ( const IDestination Destination,
const IMessage Message,
const TJMSDeliveryMode DeliveryMode,
const Integer Priority,
const Integer TimeToLive )

Sends a message to a destination for an unidentified message producer, specifying delivery mode, priority and time to live.

Typically, a message producer is assigned a destination at creation time; however, the API also supports unidentified message producers, which require that the destination be supplied every time a message is sent.

Parameters
Destinationthe destination to send this message to
Messagethe message to send
DeliveryModethe delivery mode to use
Prioritythe priority for this message
TimeToLivethe message's lifetime (in milliseconds)
Exceptions
EMQExceptionif the provider fails to send the message due to some internal error.

Implemented in TBTMessageProducer.

◆ Send() [3/4]

IMessageProducer::Send ( const IMessage Message)

Sends a message using the IMessageProducer's default delivery mode, priority, and time to live.

Parameters
Messagethe message to send
Exceptions
EMQExceptionif the provider fails to send the message due to some internal error.

Implemented in TBTMessageProducer.

◆ Send() [4/4]

IMessageProducer::Send ( const IMessage Message,
const TJMSDeliveryMode DeliveryMode,
const Integer Priority,
const Integer TimeToLive )

Sends a message to the destination, specifying delivery mode, priority, and time to live.

Parameters
Messagethe message to send
DeliveryModethe delivery mode to use
Prioritythe priority for this message
TimeToLivethe message's lifetime (in milliseconds)
Exceptions
EMQExceptionif the provider fails to send the message due to some internal error.

Implemented in TBTMessageProducer.

Member Data Documentation

◆ DeliveryMode

TJMSDeliveryMode IMessageProducer::DeliveryMode

The delivery mode to use.

See also
GetDeliveryMode For reading
SetDeliveryMode For writing

◆ Priority

Integer IMessageProducer::Priority

The priority used for outgoing messages.

See also
GetPriority For reading
SetPriority For writing

◆ TimeToLive

Cardinal IMessageProducer::TimeToLive

The outgoing message's lifetime (in milliseconds).

See also
GetTimeToLive For reading
SetTimeToLive For writing