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.

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

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

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

a non-persistent multi consumer queue */<br />

/* Waiting on user specified recipient */<br />

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

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

(ub4) OCI_HTYPE_SUBSCRIPTION,<br />

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

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

(dvoid *) "SCOTT.NP_MCQ1",<br />

(ub4) strlen("SCOTT.NP_MCQ1"),<br />

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

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

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

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

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

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

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

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

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

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

printf("Registering for all the subscriptiosn \n");<br />

checkerr(errhp, OCISubscriptionRegister(svchp, subscrhp, 4, errhp,<br />

OCI_DEFAULT));<br />

printf("Waiting for notifcations \n");<br />

/* wait for minutes for notifications */<br />

sleep(300);<br />

printf("Exiting\n");<br />

}<br />

Operational Interface: Basic Operations 11-65

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

Saved successfully!

Ooh no, something went wrong!