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.

Registering for Notification [Specifying Subscription Name—Multiconsumer Queue]<br />

(void) OCIAttrSet((dvoid *) authp, (ub4) OCI_HTYPE_SESSION,<br />

(dvoid *) "scott", (ub4) strlen("scott"),<br />

(ub4) OCI_ATTR_USERNAME, errhp);<br />

(void) OCIAttrSet((dvoid *) authp, (ub4) OCI_HTYPE_SESSION,<br />

(dvoid *) "tiger", (ub4) strlen("tiger"),<br />

(ub4) OCI_ATTR_PASSWORD, errhp);<br />

checkerr(errhp, OCISessionBegin ( svchp, errhp, authp, OCI_CRED_RDBMS,<br />

(ub4) OCI_DEFAULT));<br />

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

(dvoid *) authp, (ub4) 0,<br />

(ub4) OCI_ATTR_SESSION, errhp);<br />

/* Setting the subscription handle for notification on<br />

a NORMAL single-consumer queue */<br />

printf("allocating subscription handle\n");<br />

subscrhp[0] = (OCISubscription *)0;<br />

(void) OCIHandleAlloc((dvoid *) envhp, (dvoid **)&subscrhp[0],<br />

(ub4) OCI_HTYPE_SUBSCRIPTION,<br />

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

printf("setting subscription name\n");<br />

(void) OCIAttrSet((dvoid *) subscrhp[0], (ub4) OCI_HTYPE_SUBSCRIPTION,<br />

(dvoid *) "SCOTT.SCQ1", (ub4) strlen("SCOTT.SCQ1"),<br />

(ub4) OCI_ATTR_SUBSCR_NAME, errhp);<br />

printf("setting subscription callback\n");<br />

(void) OCIAttrSet((dvoid *) subscrhp[0], (ub4) OCI_HTYPE_SUBSCRIPTION,<br />

(dvoid *) notifyCB, (ub4) 0,<br />

(ub4) OCI_ATTR_SUBSCR_CALLBACK, errhp);<br />

printf("setting subscription context \n");<br />

(void) OCIAttrSet((dvoid *) subscrhp[0], (ub4) OCI_HTYPE_SUBSCRIPTION,<br />

(dvoid *)&ctx[0], (ub4)sizeof(ctx[0]),<br />

(ub4) OCI_ATTR_SUBSCR_CTX, errhp);<br />

printf("setting subscription namespace\n");<br />

(void) OCIAttrSet((dvoid *) subscrhp[0], (ub4) OCI_HTYPE_SUBSCRIPTION,<br />

(dvoid *) &namespace, (ub4) 0,<br />

(ub4) OCI_ATTR_SUBSCR_NAMESPACE, errhp);<br />

/* Setting the subscription handle for notification on a NORMAL multiconsumer<br />

consumer queue */<br />

Operational Interface: Basic Operations 11-63

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

Saved successfully!

Ooh no, something went wrong!