09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Enqueuing and Dequeuing Of Messages<br />

EXEC SQL OJECT SET subject, text OF :message TO :subject, :txt;<br />

/* Embedded PLSQL call to the AQ enqueue procedure: */<br />

EXEC SQL EXECUTE<br />

DECLARE<br />

message_properties dbms_aq.message_properties_t;<br />

enqueue_options dbms_aq.enqueue_options_t;<br />

BEGIN<br />

/* Bind the host variable ’correlation1’: to message correlation*/<br />

message_properties.correlation := :correlation1;<br />

/* Bind the host variable ’message’ to payload and<br />

return message id into host variable ’msgid’: */<br />

dbms_aq.enqueue(queue_name => ’msg_queue’,<br />

message_properties => message_properties,<br />

enqueue_options => enqueue_options,<br />

payload => :message:imsg, /* indicator has to be specified */<br />

msgid => :msgid);<br />

END;<br />

END-EXEC;<br />

/* Commit work: */<br />

EXEC SQL COMMIT;<br />

printf("Enqueued Message \n");<br />

printf("Subject :%s\n",subject);<br />

printf("Text :%s\n",txt);<br />

/* Second enqueue */<br />

strcpy(correlation2, "2nd message");<br />

strcpy(subject, "NORMAL ENQUEUE2");<br />

strcpy(txt, "The Enqueue was done through PLSQL embedded in PROC");<br />

/* Initialize the components of message: */<br />

EXEC SQL OBJECT SET subject, text OF :messsage TO :subject,:txt;<br />

/* Embedded PLSQL call to the AQ enqueue procedure: */<br />

EXEC SQL EXECUTE<br />

DECLARE<br />

message_properties dbms_aq.message_properties_t;<br />

enqueue_options dbms_aq.enqueue_options_t;<br />

msgid RAW(16);<br />

BEGIN<br />

/* Bind the host variable ’correlation2’: to message correlaiton */<br />

message_properties.correlation := :correlation2;<br />

A-40 <strong>Oracle</strong>9i Application Developer’s Guide - <strong>Advanced</strong> <strong>Queuing</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!