JMS+Oracle Advanced Queue(AQ)Ó÷¨Êµ¼ù
×÷Õß:Ñî´óÓÑ,Óà´¨ ²âÊÔÔ±:Íõ½¡
¿ª·¢¹¤¾ß:Oracle Jdeveloper 10131
ÈíÓ²¼þ»·¾³:
²Ù×÷ϵͳlinux redhat 3.0 Êý¾Ý¿âΪOracle 10G 10.0.2
Ó¦Ó÷þÎñÆ÷ΪSOA Application Server 10131
¿ª·¢ÓïÑÔ:java
¹ØÓÚÌåϵ½á¹¹,˵¶àÁËÒ²ÈÃÈ˾õµÃÔÎ.ÎÒÖ±½ÓʾÀýÒ»¸ö×ö·¨,ÖÁÓÚÀí½â,¾ÍÂýÂý¿´Êé°É!
²½Öè:
1.
´´½¨Oracle AQ
Ê×ÏÈÒÔ³¬¼¶Óû§µÇ½Êý¾Ý¿â,Ð޸ıØÒª²ÎÊý,½¨Á¢AQÓû§,²¢¸øÈ¨ÏÞ.ÎÒÊÇʹÓÃsqlplus
Conn sys/******@SID as sysdba
Alter system set AQ_TM_PROCESSES=6
Alter system set JOB_QUEUE_PROCESSES=10
Create user aq identified by aq1234 default tablespace users
temporary tablespace temp quota unlimited on users;
Grant connect,resource to aq;
Grant aq_administrator_role to aq;
Grant execute on dbms_aqadm to aq;
Grant execute on dbms_aq to aq;
Grant create any table to aq;
Grant enqueue any queue,dequeue any queue to aq;
ÔÚÕâ²åÒ»¾ä,ÕâÑù´´½¨Ö»ÊÇΪÁ˱ãÓÚ²Ù×÷,´ó¼ÒÔÚÍâÃæÊ¹ÓÃÓ¦¸ÃÔÙ´´½¨Óû§,Ö»ÐèÒªÊÚÓèconnect,resource,²Ù×÷dbms_aqadmºÍ
dbms_aqµÄȨÏÞ¾Í×ã¹»ÁË.Èç¹ûÄãÏëÓÃÒ»¸öÓû§²Ù×÷ÁíÍâÒ»¸öÓû§µÄqueue(±ÈÈçaq1²Ù×÷aq´´½¨µÄqueue),ÄÇôֻÐèÒªÖ´ÐÐÏÂÃæµÄÃüÁî:
Conn aq/aq1234@sid
Execute
dbms_aqadm.grant_queue_privilege(‘enqueue’,’aq_queue’,’aq1’,false);
½âÊÍ:µÚÒ»¸ö²ÎÊýÊÇȨÏÞ,¿ÉÒÔÓÐÈý¸öÖµ,enqueue,dequeue,all(all¾ÍÊÇÇ°ÃæÁ½¸ö¶¼ÓÐ).µÚ¶þ¸ö²ÎÊýÊÇqueueµÄÃû×Ö,µÚÈý¸ö²ÎÊýµÄ°ÑȨÏÞ¸øÄĸöÈË,µÚËĸöµÄÒâ˼,Ôݲ»Ã÷°×,¾Í²»Ëµ.
ÏÂÃæ¾ÍÊǽ¨Á¢queue
tablesºÍqueueµÄʱ¼äÁË.ÓÃoemÀ´´´½¨ÊÇ×î¼òµ¥µÄ,´ó¼Ò×Ô¼º¿´Ò»ÏÂ,ÎÒ°ÑÓÃÃüÁî´´½¨µÄ¹ý³Ì˵ÏÂ:
Conn aq/aq1234@sid
--create a queue table.
BEGIN
dbms_aqadm.create_queue_table(
queue_table=>'JMSTEST_QT',
queue_payload_type=>'SYS.AQ$_JMS
_MESSAGE',
multiple_consumers =>
false,
comment => 'Queue Table For Resource Provider');
END;
/
--create a queue
BEGIN &
Ïà¹ØÎĵµ£º
1.ÒÔsysÓû§µÇ¼oracle
2.²éÕÒÄãÒª¸ü¸ÄµÄ±í£¬ÎÒÃÇ“TEST”ÖеēAAA”±íΪÁУ¬×¢Ò⣬ÔÚoracleÖУ¬±íºÍ¿Õ¼ä¶¼ÊÇÒÔ´óд×ÖĸÏÔʾµÄ£¬ËùÒÔÕâÀï¶¼ÒªÓôó×Ö×Öĸ
Ö´ÐÐ
select object_id from all_objects where owner='TEST' and object_name='AAA';
»áµÃµ½Ò»¸öobject_id,Õâ¾ÍÊÇÎÒÃÇÐèÒª¸ü¸Ä±íµÄid£¬ÎÒÃÇÒ ......
ÎÒÏÈÅ×שÒýÓñ:
1. ¿ª·¢ÐÔ: SQLSERVER²»ÄÜ,ORACLEÄÜ×°ÔÚUNIXÉÏ
2. ·ÖÇø±í: SQLSERVER²»Ä ......
SQLÖеĵ¥¼Ç¼º¯Êý
1.ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2.CHR
¸ø³öÕûÊý,·µ»Ø¶ÔÓ¦µÄ× ......
Ëæ×Ų»Í¬Ó¦ÓÃÄ£¿é¼äµÄÏûÏ¢½»»¥ºÍͨÐųÉΪһ¸ö¹Ø¼üµÄ¹¦ÄÜ£¬²¢ÇÒ±äµÃÔ½À´Ô½ÖØÒª¡£OracleÒýÈëÁËÒ»ÖÖÇ¿´óµÄ¶ÓÁлúÖÆ£¬Í¨¹ýËü³ÌÐò¼ä¿ÉÒÔʵÏÖÐÅÏ¢µÄ½»»¥£¬oracle°ÑËü³Æ×÷ΪAQ - Advanced Queuing. ʹÓÃOracle AQ£¬ÎÒÃDz»ÐèÒª°²×°¶îÍâµÄÖмä¼þ£¬ËüÊÇOracleÊý¾Ý¿âµÄÒ»¸ö¹¦ÄÜ×é¼þ£¬Ö»ÒªÄã°²×°ÁËOracle Êý¾Ý¿â¾Í¿ÉÒÔʹÓÃAQÁË¡£½ ......