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.

* Where the transformation was created as */<br />

EXECUTE DBMS_TRANSFORM.CREATE_TRANSFORMATION<br />

( schema => ’AQ’,<br />

name => ’msg_map’,<br />

from_schema => ’AQ’,<br />

from_type => ’purchase_order1’,<br />

to_schema => ’AQ’,<br />

to_type => ’purchase_order2’,<br />

transformation => ’AQ.transform_PO(source.user_data)’);<br />

END;<br />

Adding a Subscriber<br />

PL/SQL (DBMS_AQADM): Adding a Rule-Based Subscriber<br />

DECLARE<br />

subscriber<br />

BEGIN<br />

sys.aq$_agent;<br />

subscriber := sys.aq$_agent('East_Shipping','ES.ES_bookedorders_que',null);<br />

DBMS_AQADM.ADD_SUBSCRIBER(<br />

queue_name => 'OE.OE_bookedorders_que',<br />

subscriber => subscriber,<br />

rule => 'tab.user_data.orderregion = ''EASTERN'' OR<br />

(tab.user_data.ordertype = ''RUSH'' AND<br />

tab.user_data.customer.country = ''USA'') ');<br />

END;<br />

/* Add a rule-based subscriber for Overseas Shipping */<br />

DECLARE<br />

subscriber aq$_agent;<br />

BEGIN<br />

subscriber := aq$_agent('Overseas_DHL', null, null);<br />

dbms_aqadm.add_subscriber(<br />

queue_name => 'OS.OS_bookedorders_que',<br />

subscriber => subscriber,<br />

rule => 'tab.user_data.xdata.extract(''/ORDER_<br />

TYP/ORDERTYPE/text()'').getStringVal()=''RUSH''');<br />

END;<br />

Java (JDBC): Adding a Subscriber<br />

/* Setup */<br />

public static void setup(AQSession aq_sess) throws AQException<br />

{<br />

AQQueueTableProperty qtable_prop;<br />

AQQueueProperty queue_prop;<br />

Administrative Interface 9-61

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

Saved successfully!

Ooh no, something went wrong!