Oracle AQ ʹÓÃ
Ëæ×Ų»Í¬Ó¦ÓÃÄ£¿é¼äµÄÏûÏ¢½»»¥ºÍͨÐųÉΪһ¸ö¹Ø¼üµÄ¹¦ÄÜ£¬²¢ÇÒ±äµÃÔ½À´Ô½ÖØÒª¡£OracleÒýÈëÁËÒ»ÖÖÇ¿´óµÄ¶ÓÁлúÖÆ£¬Í¨¹ýËü³ÌÐò¼ä¿ÉÒÔʵÏÖÐÅÏ¢µÄ½»»¥£¬oracle°ÑËü³Æ×÷ΪAQ - Advanced Queuing. ʹÓÃOracle AQ£¬ÎÒÃDz»ÐèÒª°²×°¶îÍâµÄÖмä¼þ£¬ËüÊÇOracleÊý¾Ý¿âµÄÒ»¸ö¹¦ÄÜ×é¼þ£¬Ö»ÒªÄã°²×°ÁËOracle Êý¾Ý¿â¾Í¿ÉÒÔʹÓÃAQÁË¡£½ÓÏÂÀ´·ÖÁ½²¿·ÖÀ´½éÉÜAQµÄʹÓã¬Ê¹ÓÃ֮ǰÎÒÃÇÒª´´½¨QUEUE.
ÎÒÃÇ´´½¨Ò»¸ö×Ô¼ºµÄAQµÄ¹ÜÀí½ÇÉ« "my_aq_adm_role" ºÍ¹ÜÀíÓû§"aqadm"£¬ÔÙ°ÑOracle AQ ¹ÜÀí½ÇÉ« "aq_adminstrator_role" ÊÚȨ¸ø"my_aq_adm_role".
CREATE ROLE my_aq_adm_role;
GRANT aq_adminsistator_role TO my_aq_adm_role
´´½¨Ò»¸öÓû§µÄ½ÇÉ« "my_aq_user_role" ºÍ ÆÕͨÓû§"aquser" ,ÔÙ°ÑOracle AQµÄÓû§½ÇÉ«"aq_user_role"ºÍһЩ»ù±¾²Ù×÷ÐèÒªµÄϵͳȨÏÞÊÚȨ¸ø "my_aq_adm_role"
CREATE ROLE my_aq_user_role;
GRANT CREATE session, aq_user_role TO my_aq_user_role;
EXEC DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
privilege => 'ENQUEUE_ANY',
grantee => 'my_aq_user_role',
admin_option => FALSE);
EXEC DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
privilege => 'DEQUEUE_ANY',
grantee => 'my_aq_user_role',
admin_option = 'FALSE');
ÏÖÔÚÎÒÃÇ´´½¨ AQ¹ÜÀíÓû§
CREATE USER aqadm IDENTIFIED BY aqadm
DEFAULT TABLESPACE elathen
TEMPORARY TABLESPACE temp;
GRANT my_aq_adm_role TO aqadm;
GRANT connect, resource TO aqadm; ----×¢Ò⣬resource½Çɫһ¶¨ÒªÊÚ¸øuser,Èç¹ûresource½ÇÉ«ÊÚȨ¸ø
my_aq_adm_role, user½«»áʧȥ unlimited tablespace ȨÏÞ
½Ó×ÅΪÎÒÃÇÏÂÃæexample´´½¨ÆÕͨÓû§
CREATE USER aquser IDENTIFIED BY aquser
DEFAULET TABLESPACE elathen
TEMPORARY TABLESPACE temp;
GRANT my_aq_user_role TO aquser;
ÎÒÃǽ«ÔÚÎÒÃǵÚÒ»¸öqueueÖÐʹÓÃobject type¶ø²»ÊÇNUMBER or VARCHAR2×÷Ϊpayload£¬ÕâʹÎÒÃǸüÌù½üʵ¼ÊÓ¦Óá£(payloadÊÇÈκÎÏûÏ¢¶¼Ê¹ÓõÄÒ»ÖÖÊý¾ÝÀàÐͺͽṹ).
ÉÏÃæ×öµÄ¹¤×÷¶¼ÐèÒªÔÚDBAµÄȨÏÞÏÂ×ö£¬ÏÖÔÚÎÒÃÇÇл»µ½AQ¹ÜÀíÔ±
CONNECT aqadm/aqadm
CREATE TYPE queue_message_type AS OBJECT(
no NUBER,
title VARCHAR2(30),
text VARCHAR2(2000));
/
GRANT EXECUTE ON queue_message_type TO my_aq_user
Ïà¹ØÎĵµ£º
ËäȻѧϰJavaºÜ¾ÃÁË£¬×Ô¼ºÒ²Á¬½Ó¹ýһЩÊý¾Ý¿â£¬±ÈÈçmysqlÖ®ÀàµÄ£¬Èç½ñÄØ£¬Ò²Ñ§Ï°ÁËÒ»¶Îʱ¼äµÄOracle£¬È»¶øÄØ£¬½ñÌìÊÇÎÒµÚÒ»´ÎÁ¬½ÓOracle£¬ºÙºÙ£¬Ó¦¸Ã»¹²»ËãÌ«³Ù°É¡£
½ñÌìÄØ£¬Óе㱿׾£¬´ó¼ÒĪЦ£¡
ÎÒÕâÊÇÒ»¸ö²éѯÀý×Ó
Ê×ÏÈ£¬Ô ......
½ñÌìÓÐͬÊ´òµç»°ÒªÇóÒª°Ñoracle¿âÀïµÄÒ»ÕűíµÄ¶¨Òåµ¼³ö¸ösqlÎļþ£¬µ±Ê±µÄµÚÒ»·´Ó¦¾ÍÊÇÒª½ÌËûÓÃexp/impÀ´»ñµÃ±í½á¹¹¶¨ÒåÎļþ£¬Ôڵ绰ÀïÃæËµÁ˰ëÌ컹ÊÇûÄ̻ܽáËû£¬Ö»ºÃÅÜÁËÒ»ÌË»ú·¿¡£Â·ÉϾÍÔÚÏ룬oracleÕæÊÇÌÖÑᣬΪʲô²»ÔÚÆóÒµ¹ÜÀíÆ÷ÀïÖ±½Ó¼ÓÉϸö±í½á¹¹µ¼³öµÄÑ¡Ï»¹Òªº¦ÎÒÕâôÅÜÒ»ÌË£¬ÕæÊÇ@@#!!@!#@@@@
ÎÊÁËÏÂÒªµ¼³öÄÄ ......
ÎÊÌâÒ»£ºÈç±£¼ÓÔØJDBCÇý¶¯³ÌÐò£º
¡¡¡¡Õý³£ÎÒÃǼÓÔØÇý¶¯³ÌÐòÓÐÈý¸ö;¾¶£º
¡¡¡¡1£©Class.forName(String)ÕâÏëµ±ÓÚclassLoaderÒ»¸öStringÖ¸¶¨µÄÀ࣬ÔÚ×°ÔØÊ±°Ñ¸ÃÇý¶¯³ÌÐòµÄ¾²Ì¬ÄÚÈݶ¼³õʼ»¯£¬ÆäʵÕâʱÇý¶¯³ÌÐòÀàµ÷ÓÃÁËDriverManager.registerDriver(driver)·½·¨
¡¡¡¡2£©Ê¹ÓÃϵͳÊôÐÔ£ºSystem.getProperty().load(new Fil ......
ϵͳ»¹Ô¶Î
½öΪϵͳ±í¿Õ¼äÖеĶÔÏó±ä»¯ËùÓá£ËüÊÇÔÚÊý¾Ý¿â´´½¨Ê±ÔÚϵͳ±í¿Õ¼äÖд´½¨µÄ¡£ÏµÍ³»¹Ô¶Î¼È¿ÉÒÔ´æÔÚ²¢¹¤×÷ÔÚ×Ô¶¯Ä£Ê½Ï£¬Ò²¿ÉÒÔ´æÔÚ²¢¹¤×÷ÔÚÊÖ¶¯Ä£Ê½Ï¡£
·Çϵͳ»¹Ô¶Î
ΪÆäËû±í¿Õ¼äÖжÔÏóµÄ±ä»¯ËùʹÓᣵ±Ò»¸öÊý¾Ý¿â¾ßÓжà¸ö±í¿Õ¼äʱ¾ÍÐèÒªÖÁÉÙÒ»¸öÊÖ¶¯µÄ·Çϵͳ»¹Ô¶Î»òÒ»¸ö×Ô¶¯¹ÜÀíµÄ»¹Ô±í¿Õ¼ä¡£
×Ô¶¯Ä£Ê½ ......
ÉÏÆª½éÉÜÁ˾²Ä¬°²×°Êý¾Ý¿âÈí¼þ£¬ÏÂÃæ½éÉܾ²Ä¬´´½¨Êý¾Ý¿âµÄ·½·¨¡£
1. ÓÃDBCA¸ù¾ÝÖÖ×ÓÊý¾Ý¿â´´½¨Ò»¸öÄ£°å
£¨ÖÖ×ÓÊý¾Ý¿â¾ÍÊÇÔ´Êý¾Ý¿â£¬Èç¹ûûÓÐÔ´Êý¾Ý¿â£¬¿ÉÒÔÓÃDBCA´´½¨Ò»¸öеÄÄ£°æ»ò±à¼ÔÓеÄÄ£°æ£©
2. ½«Oracle DB°²×°ÅÌÀïÃæresponseĿ¼ÏµÄdbca.rsp¿½±´µ½±¾»úÉÏ
3. ÐÞ¸Ädbca.rspÎļþ£¬½«Ä£°åÃûºÍDBÃûÌí¼Ó½øÈ¥
GDB ......