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.

Listening to One or More Single-Consumer Queues<br />

void GetAgent(agent, errhp)<br />

LNOCIAQAgent *agent;<br />

LNOCIError *errhp;<br />

{<br />

text *appname;<br />

text *queue;<br />

ub4 appsz;<br />

ub4 queuesz;<br />

if (!agent )<br />

{<br />

printf("agent was NULL \n");<br />

return;<br />

}<br />

checkerr(errhp, OCIAttrGet(agent, OCI_DTYPE_AQAGENT,<br />

(dvoid *)&appname, &appsz, OCI_ATTR_AGENT_NAME, errhp));<br />

checkerr(errhp, OCIAttrGet(agent, OCI_DTYPE_AQAGENT,<br />

(dvoid *)&queue, &queuesz, OCI_ATTR_AGENT_ADDRESS, errhp));<br />

if (!appsz)<br />

printf("agent name: NULL\n");<br />

else printf("agent name: %.*s\n", appsz, (char *)appname);<br />

if (!queuesz)<br />

printf("agent address: NULL\n");<br />

else printf("agent address: %.*s\n", queuesz, (char *)queue);<br />

}<br />

int main()<br />

{<br />

OCIEnv *envhp;<br />

OCIServer *srvhp;<br />

OCIError *errhp;<br />

OCISvcCtx *svchp;<br />

OCISession *usrhp;<br />

OCIAQAgent *agent_list[3];<br />

OCIAQAgent *agent = (OCIAQAgent *)0;<br />

/* added next 2 121598 */<br />

int i;<br />

/* Standard OCI Initialization */<br />

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

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

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

(ub4) OCI_HTYPE_ENV, 0, (dvoid **) 0);<br />

11-28 <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!