| Oracle® C++ Call Interface Programmer's Guide 10g Release 1 (10.1) Part Number B10778-01 |
|
|
View PDF |
The Producer enqueues Messages into a queue and defines the enqueue options.
Table 10-30 Constants of the Producer Class
| Constant | Description |
|---|---|
ENQ_BEFORE |
The message is enqueued before the message specified by the relatie message id. |
ENQ_TOP |
The message is enqueued before any other messages. |
ENQ_ON_COMMIT |
Default. The enqueue is part of the current transaction. The operation is complete when the transaction commits. |
ENQ_IMMEDIATE |
The enqueue is not part of the current transaction. The operation constitutes a transaction of its own. |
For typical usage, please see Example 10-5 and Example 10-6 starting .
Table 10-31 Summary of Producer Methods
| Method | Summary |
|---|---|
| Producer() |
Producer class constructor. |
| getQueueName() |
Retrieves the name of a queue on which the Messages will be enqueued. |
| getRelativeMessageId() |
Retrieves the Message id that is referenced in a sequence deviation operation. |
| getSequenceDeviation() |
Retrieves information regarding whether the Message should be dequeued ahead of other Messages in the queue. |
| getTransformation() |
Retrieves the transformation applied before a Message is enqueued. |
| getVisibility() |
Retrieves the transactional behavior of the enqueue request. |
| isNull() |
Tests whether the Producer is NULL. |
| send() |
Enqueues and sends a Message. |
| setNull() |
Frees memory if the scope of the Producer extends beyond the Connection on which it was created. |
| setQueueName() |
Specifies the name of a queue on which the Messages will be enqueued. |
| setRelativeMessageId() |
Specifies the Message id to be referenced in the sequence deviation operation. |
| setSequenceDeviation() |
Specifies whether Message should be dequeued before other Messages already in the queue. |
| setTransformation() |
Specify transformation applied before enqueuing a Message. |
| setVisibility() |
Specify transaction behavior of the enqueue request. |
Producer object constructor.
| Syntax | Description |
|---|---|
Producer( Connection *conn); |
Creates a Producer object with the specified Connection handle. |
Producer( Connection *conn, const string& queue); |
Creates a Producer object with the specified Connection handle and queue name. |
| Parameter | Description |
|---|---|
conn |
The connection of the new Producer object. |
queue |
The queue that will be used by the new Producer object. |
Retrieves the name of a queue on which the Messages will be enqueued.
string getQueueName();
Retrieves the Message id that is referenced in a sequence deviation operation. Used only if a sequence deviation is specified; ignored otherwise.
Bytes getRelativeMessageId() const;
Retrieves information regarding whether the Message should be dequeued ahead of other Messages in the queue. Valid return values are defined as constants of the Producer class in Table 10-30: ENQ_BEFORE and ENQ_TOP.
Producer::EnqueueSequence getSequenceDeviation() const;
Retrieves the transformation applied before a Message is enqueued.
Producer::string getTransformation() const;
Retrieves the transactional behavior of the enqueue request. Valid return values are defined as constants of the Producer class in Table 10-30: ENQ_ON_COMMIT and ENQ_IMMEDIATE.
Producer::Visibility getVisibility() const;
Tests whether the Producer is NULL. If the Producer is NULL, then TRUE is returned; otherwise, FALSE is returned.
bool isNull() const;
Enqueues and sends a Message.
| Syntax | Description |
|---|---|
Bytes send( Message& message); |
Used when queueName has been previously set by the setQueueName() method. |
Bytes send( Message& message, string& queueName); |
Enqueue the Message to the specified queueName. |
| Parameter | Description |
|---|---|
message |
The Message that will be enqueued. |
queueName |
The name of a valid queue in the database. |
Frees memory associated with the Producer. Unless working in inner scope, this call should be made before terminating the Connection.
void setNull();
Specifies the name of a queue on which the Messages will be enqueued. Typically used when enqueuing multiple messages to the same queue.
void setQueueName( const string& queueName);
| Parameter | Description |
|---|---|
queueName |
The name of a valid queue in the database, to which the Messages will be enqueued. |
Specifies the Message id to be referenced in the sequence deviation operation. If the sequence deviation is not specified, this parameter will be ignored. Can be set for each enqueuing of a Message.
void setRelativeMessageId( const Bytes& id);
| Parameter | Description |
|---|---|
id |
The id of the relative Message. |
Specifies whether Message being enqueued should be dequeued before other Message(s) already in the queue. Can be set for each enqueuing of a Message.
void setSequenceDeviation( unsigned int seqDev);
| Parameter | Description |
|---|---|
seqDev |
The sequence deviation being set. Valid values are:
|
Specify transformation applied before enqueuing the Message.
void setTransformation( string &transFunction);
| Parameter | Description |
|---|---|
transFunction |
SQL transformation function. |
Specify transaction behavior of the enqueue request. Can be set for each enqueuing of a Message.
void setVisibility( Visibility vis);
| Parameter | Description |
|---|---|
visibility |
Visibility option being set. Valid values are:
|