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.

AQ and Memory Usage<br />

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

/* Copy the message payload text into the user buffer: */<br />

if (mesgind->null_data)<br />

*buflen = 0;<br />

else<br />

memcpy((dvoid *)buf, (dvoid *)OCIStringPtr(envhp, mesg->data),<br />

(size_t)(*buflen = OCIStringSize(envhp, mesg->data)));<br />

/* Free the dequeue options descriptor: */<br />

checkerr(errhp, OCIDescriptorFree((dvoid *)deqopt, OCI_DTYPE_AQDEQ_OPTIONS));<br />

/* Free the memory for the objects: */<br />

checkerr(errhp, OCIObjectFree(envhp, errhp, (dvoid *)mesg,<br />

OCI_OBJECTFREE_FORCE));<br />

} /* end deqmesg */<br />

void main()<br />

{<br />

OCIServer *srvhp;<br />

OCISession *usrhp;<br />

dvoid *tmp;<br />

text buf[80]; /* payload text */<br />

ub4 buflen;<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 />

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