09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

AQ and Memory Usage<br />

/* Set the correlation id in the message properties descriptor: */<br />

sprintf((char *)corrid, "Msg#: %d", msgno);<br />

checkerr(errhp, OCIAttrSet(msgprop, OCI_DTYPE_AQMSG_PROPERTIES,<br />

(dvoid *)&corrid, strlen(corrid),<br />

OCI_ATTR_CORRELATION, errhp));<br />

/* Enqueue the message and commit: */<br />

checkerr(errhp, OCIAQEnq(svchp, errhp, (CONST text *)"msgqueue",<br />

0, msgprop, mesgtdo, (dvoid **)&mesg,<br />

(dvoid **)&mesgind, 0, 0));<br />

checkerr(errhp, OCITransCommit(svchp, errhp, (ub4) 0));<br />

} /* end enqmesg */<br />

void main()<br />

{<br />

OCIServer *srvhp;<br />

OCISession *usrhp;<br />

dvoid *tmp;<br />

text buf[80]; /* user supplied text */<br />

int msgno = 0;<br />

OCIInitialize((ub4) OCI_OBJECT, (dvoid *)0, (dvoid * (*)()) 0,<br />

(dvoid * (*)()) 0, (void (*)()) 0 );<br />

OCIHandleAlloc((dvoid *) NULL, (dvoid **) &envhp, (ub4) OCI_HTYPE_ENV,<br />

52, (dvoid **) &tmp);<br />

OCIEnvInit( &envhp, (ub4) OCI_DEFAULT, 21, (dvoid **) &tmp );<br />

OCIHandleAlloc((dvoid *) envhp, (dvoid **) &errhp, (ub4) OCI_HTYPE_ERROR,<br />

52, (dvoid **) &tmp);<br />

OCIHandleAlloc((dvoid *) envhp, (dvoid **) &srvhp, (ub4) OCI_HTYPE_SERVER,<br />

52, (dvoid **) &tmp);<br />

OCIServerAttach(srvhp, errhp, (text *) 0, (sb4) 0, (ub4) OCI_DEFAULT);<br />

OCIHandleAlloc((dvoid *) envhp, (dvoid **) &svchp, (ub4) OCI_HTYPE_SVCCTX,<br />

52, (dvoid **) &tmp);<br />

/* Set attribute server context in the service context: */<br />

OCIAttrSet((dvoid *) svchp, (ub4) OCI_HTYPE_SVCCTX, (dvoid *)srvhp, (ub4) 0,<br />

(ub4) OCI_ATTR_SERVER, (OCIError *) errhp);<br />

/* Allocate a user context handle: */<br />

A-78 <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!