Sun Java logo     ¤W¤@­¶      ¥Ø¿ý      ¯Á¤Þ      ¤U¤@­¶     

Sun logo
Sun Java System Message Queue 3 2005Q4 ºÞ²z«ü«n 

²Ä 4 ³¹
°t¸m¥N²zµ{¦¡

¥N²zµ{¦¡ªº°t¸m¥Ñ¤@²Õ°t¸mÀɮשM¦b±Ò°Ê®É¶Çµ¹ imqbrokerd «ü¥Oªº¿ï¶µ©ÒºÞ²z¡C¥»³¹»¡©ú¥i¥Îªº°t¸m¯S©Ê¡A¥H¤Î¦p¦ó¨Ï¥Î¥¦­Ì¨Ó°t¸m¥N²zµ{¦¡¡C

¥»³¹¥]§t¤U¦C¦U¸`¡G

¦p»Ý¥N²zµ{¦¡°t¸m¯S©Êªº§¹¾ã°Ñ·Ó¸ê°T¡A½Ð°Ñ¾\²Ä 14 ³¹¡u¥N²zµ{¦¡¯S©Ê°Ñ·Ó¡v¡C


¥N²zµ{¦¡ªA°È

µøªA°È©ÎªA°È¼vÅT©Ò¤Îªº¥N²zµ{¦¡¤¸¥ó¤§¤£¦P¡A¥N²zµ{¦¡°t¸m¯S©Ê¥i¤À¬°¼Æ­ÓÃþ§O¡G

¥H¤U¦U¸`±N¤À§O»¡©ú³o¨ÇªA°È¡A¥H¤Î±z®Ú¾Ú¦Û¨­»Ý­n¦Ó¦Û­qªA°È®É©Ò¨Ï¥Îªº¯S©Ê¡C

³s½uªA°È

°T®§¥N²zµ{¦¡³z¹L¦hºØ¶Ç¿é¨ó©w´£¨Ñ¦UºØ¤ä´©À³¥Îµ{¦¡»PºÞ²z¥Î¤áºÝªº³s½uªA°È¡C»P³s½uªA°È¬ÛÃöªº¥N²zµ{¦¡°t¸m¯S©Ê¡A¦C©ó³s½u¯S©Ê¤¤¡C

ªí 4-1 »¡©ú¥i¥Îªº³s½uªA°È¡A¨Ì¾Ú¨âºØ¯S¼x°Ï¤À¡G

³z¹L³]©w¥N²zµ{¦¡ªº imq.service.activelist ¯S©Ê¡A§Y¥i±N¨ä°t¸m¬°°õ¦æ¥ô¤@©Î©Ò¦³³o¨Ç³s½uªA°È¡C¦¹¯S©Êªº­È¬O¤@²Õ·|¦b¥N²zµ{¦¡±Ò°Ê®É±Ò°Êªº³s½uªA°È²M³æ¡F­Y¥¼©ú½T«ü©w¦¹¯S©Ê¡A±N¨Ì¹w³]±Ò°Ê jms »P admin ªA°È¡C

¨C­Ó³s½uªA°È¤]¤ä´©¯S©wªº»{ÃÒ»P±ÂÅv¥\¯à¡A½Ð°Ñ¾\¦w¥þ©ÊªA°È¡A¥H¨ú±o§ó¦h¸ê°T¡C

³s±µ°ð¹ï¬M¾¹

¨CºØ³s½uªA°È¥i¥Î©ó¯S©wªº³s±µ°ð¡A¦¹³s±µ°ð¥Ñ¥D¾÷¦WºÙ (©Î IP ¦ì§}) ©M³s±µ°ð¸¹½X«ü©w¡C±z¥i¥H©ú½T¦a«ü©wªA°ÈªºÀRºA³s±µ°ð¸¹½X¡A©Î¥Ñ¥N²zµ{¦¡ªº³s±µ°ð¹ï¬M¾¹°ÊºA«ü©w¡C³s±µ°ð¹ï¬M¾¹¥»¨­±`¾n©ó¥N²zµ{¦¡ªº¥D³s±µ°ð¤W¡A§Y³q±`¦ì©ó¼Ð·Ç³s±µ°ð¸¹½X 7676¡C(­Y¦³¥²­n¡A±z¥i¥H¨Ï¥Î¥N²zµ{¦¡°t¸m¯S©Ê imq.portmapper.port¡A¥H¨ä¥L³s±µ°ð¸¹½X¨ÓÂмg¦¹­È¡C) ¨Ì¹w³]¡A¨C­Ó³s½uªA°È¬Ò·|¦b±Ò°Ê®É¹ï³s±µ°ð¹ï¬M¾¹¶i¦æ¦Û§Úµù¥U¡C·í¥Î¤áºÝ«Ø¥ß»P¥N²zµ{¦¡ªº³s½u®É¡AMessage Queue ¥Î¤áºÝ°õ¦æ¶¥¬q·|¥ý³sµ¸³s±µ°ð¹ï¬M¾¹¡A¥H½Ð¨D³s±µ°ð¸¹½X¨Ñ»Ý­nªº³s½uªA°È¨Ï¥Î¡C

¦¹¥~¡A±z¤]¥i¥H¨Ï¥Î imq.serviceName.protocolType.port °t¸m¯S©Ê¡AÂмg³s±µ°ð¹ï¬M¾¹¡A¨Ã©ú½T«ü©w³s½uªA°ÈªºÀRºA³s±µ°ð¸¹½X (¨ä¤¤ serviceName »P protocolType ªí¥Ü¯S©wªº³s½uªA°È¡A¦pªí 4-1 ©Ò¥Ü)¡C(¥u¦³ jms¡Bssljms¡Badmin »P ssladmin ³s½uªA°È¯à°÷¥H³oºØ¤è¦¡¶i¦æ°t¸m¡Ahttpjms »P httpsjms ªA°È¨Ï¥Î¤£¦Pªº°t¸m¯S©Ê¡A¦pªþ¿ý C¡uHTTP/HTTPS ¤ä´©¡v ©Ò­z¡C) ¦ýÀRºA³s±µ°ð³q±`¥u¾A¥Î©ó¯S®í±¡ªp (¨Ò¦p«Ø¥ß³q¹L¨¾¤õÀ𪺳s½u)¡A¦Ó¤£«Øij¥Î©ó¤@¯ë±¡ªp¡C


³Æµù

¦b¨ã¦³¨â³¡©Î§ó¦h¥D¾÷ªºÀô¹Ò¤U (¨Ò¦p¦b¹q¸£¤W¦w¸Ë¤F¦h±iºô¸ô¥d®É)¡A±z¥i¥H¨Ï¥Î¥N²zµ{¦¡¯S©Ê¨Ó«ü©w³s½uªA°È©Ò­n³sµ²ªº¥D¾÷¡Cimq.hostname ¯S©Ê¥i¬°©Ò¦³³s½uªA°È«ü©w³æ¤@ªº¹w³]¥D¾÷¡F¦Ó¦¹¹w³]­È¥i¦b¥²­n®É¡A¥H imq.serviceName.protocolType.hostname (°w¹ï jms¡Bssljms¡Badmin ©Î ssladmin ªA°È) ©Î imq.portmapper.hostname (°w¹ï³s±µ°ð¹ï¬M¾¹¥»¨­) ¶i¦æÂмg¡C


¦P®É¦¬¨ì¦h­Ó³s±µ°ðºÞ²z­û½Ð¨D®É¡A½Ð¨D·|Àx¦s¦b§@·~¨t²ÎÀx¦s°Ï¤¤µ¥­Ô°õ¦æ°Ê§@¡Cimq.portmapper.backlog ¯S©Ê·|°w¹ï³o¨Ç¦ì©óÀx¦s°Ï¤¤ªº½Ð¨D¡A«ü©w¼Æ¶q¤W­­¡C¶W¹L¦¹¤W­­®É¡A´N·|©Úµ´¨ä¥L½Ð¨D¡Aª½¨ìÀx¦s°Ï¶q­°§C¬°¤î¡C

°õ¦æºü¦ÀºÞ²z

¨C­Ó³s½uªA°È§¡¬°¦h­«°õ¦æºü¡A¤ä´©¦h­«³s½u¡C¥N²zµ{¦¡·|°w¹ï¨C­ÓªA°È¡A¦b­Ó§Oªº°õ¦æºü¦À¤¤ºûÅ@³o¨Ç³s½u©Ò»Ýªº°õ¦æºü¡C¦b³s½u»Ý­n°õ¦æºü®É¡A³o¨Ç°õ¦æºü´N·|·s¼W¨ì°õ¦æºü¦À¤¤¡A¨Ñ¤ä´©¸Ó³s½uªºªA°È¨Ï¥Î¡C

±z©Ò¿ï¾Üªº°õ¦æºü¼Ò«¬¥i«ü©w°õ¦æºü¬O¥Ñ³æ¤@³s½u©Ò±M¥Î¡AÁÙ¬O¥Ñ¦h­Ó³s½u©Ò¦@¥Î¡G

¥N²zµ{¦¡ªº imq.serviceName.threadpool_model ¯S©Ê¡A¥i«ü©wµ¹©wªº³s½uªA°ÈÀ³¨Ï¥Î³o¨âºØ¼Ò«¬¤¤ªº­þ¤@ºØ¡C¦¹¯S©Ê·|±Ä¥Î¤U¦C¨â­Ó¦r¦ê­È¤§¤@¡G±MÄݩΦ@¥Î¡C­Y¥¼©ú½T³]©w¯S©Ê¡A«h·|¨Ì¹w³]±Ä¥Î±MÄÝ¡C

±z¤]¥i¥H³]©w¥N²zµ{¦¡¯S©Ê imq.serviceName.min_threads »P imq.serviceName.max_threads¡A¨Ó«ü©wªA°È°õ¦æºü¦Àªº³Ì¤p»P³Ì¤j°õ¦æºü¼Æ¡C·í¥i¥Îªº°õ¦æºü¼Æ¶W¹L«ü©wªº³Ì¤pÁ{¬É­È®É¡AMessage Queue ±N·|¦b°õ¦æºü¦¨¬°¥i¥Îª¬ºA®É¥[¥HÃö³¬¡Aª½¨ì¦A¦¸¹F¨ì³Ì¤p­È¬°¤î¡AÂÇ¥H¸`¬Ù°O¾ÐÅé¸ê·½¡C¦b­t¸ü¸û¤jªº±¡ªp¤U¡A°õ¦æºüªº¼Æ¶q·|¼W¥[¡Aª½¦Ü¹F¨ì°õ¦æºü¦Àªº³Ì¤j¼Æ¶q¬°¤î¡F¦¹®É·|©Úµ´·sªº³s½u¡Aª½¨ì¬Y°õ¦æºü¦¨¬°¥i¥Îª¬ºA¬°¤î¡C

¦@¥Î°õ¦æºü¼Ò©Ê·|¨Ï¥Î¤À´²°õ¦æºü¡A±N°õ¦æºü«ü©wµ¹¨Ï¥Î¤¤ªº³s½u¡C¥N²zµ{¦¡¯S©Ê imq.shared.connectionMonitor_limit ¥i«ü©w¥Ñ³æ¤@¤À´²°õ¦æºüºÊµøªº³Ì¤j³s½u¼Æ¡C¦¹¯S©Êªº­È¶V¤p¡A°õ¦æºü«ü©wµ¹³s½uªº³t«×´N¶V§Ö¡Cimq.ping.interval ¯S©Ê·|«ü©w¤@­Ó¥H¬í¬°³æ¦ìªº®É¶¡¶¡¹j¡AÅý¥N²zµ{¦¡¨Ì¦¹¶¡¹j©w´Á´ú¸Õ (¡u°»´ú¡v) ³s½u¡A¥HÅçÃÒ¥¦¬O§_¤´¦b¨Ï¥Î¤¤¡A¥H«K¦b¹Á¸Õ¶Ç¿é°T®§¥¢±Ñ«e¡A§Y¥i¹w¥ý°»´ú¨ì³s½u¥¢±Ñ¡C

¸ô¥ÑªA°È

¥Î¤áºÝ³s½u¦Ü¥N²zµ{¦¡«á¡A§Y¥i¸ô¥Ñ°T®§¤Î¶Ç°e°T®§¡C¦b¦¹¶¥¬q¤¤¡A¥N²zµ{¦¡¥²¶·«Ø¥ß¤ÎºÞ²z¤£¦PÃþ«¬ªº¹êÅé¥Ø¼Ð¡A¥H½T«O°T®§¯à¶¶§Q¶Ç°e¨Ã¦³®Ä§Q¥Î¸ê·½¡C±z¥i¥H¨Ï¥Î¸ô¥Ñ¯S©Ê©Ò­zªº¥N²zµ{¦¡°t¸m¯S©Ê¡A¥H®Ú¾ÚÀ³¥Îµ{¦¡»Ý­nªº¤è¦¡ºÞ²z³o¨Ç¤u§@¡C

¥N²zµ{¦¡ªº®Ä¯à©Mí©w©Ê¨ú¨M©ó¦p°O¾ÐÅ餧Ãþªº¥i¥Î¨t²Î¸ê·½¡A¥H¤Î¦p¦ó¦³®Ä§Q¥Î³oÃþ¸ê·½¡C±z¥i¥H³]©w°t¸m¯S©Ê¡A¥H¨¾¤î¥N²zµ{¦¡³Q¤j¶q¤º°e°T®§¦û¥Î¡A©Î¨¾¤î°O¾ÐÅ餣¨¬¡C³o¨Ç¯S©Ê¥i¦b¤T­Ó¤£¦Pªº¼h¯Å¤W°_§@¥Î¡A¥H½T«O°T®§ªA°È¦b¸ê·½¤£¨¬ªº±¡ªp¤U¤´¥i¹B§@¡G

¥Ã¤[©ÊªA°È

¦pªG¥N²zµ{¦¡­n¦b¥¢±Ñ®É¦^´_¡A«h¦¹¥N²zµ{¦¡»Ý­n­«·s«Ø¥ß¨ä°T®§¶Ç°e§@·~ªºª¬ºA¡C­Y­n°õ¦æ¦¹§@·~¡A¥N²zµ{¦¡¥²¶·±Nª¬ºA¸ê°TÀx¦s¨ì¥Ã¤[¦s©ñ°Ï¡C¥N²zµ{¦¡­«·s±Ò°Ê®É¡A¥¦·|¨Ï¥ÎÀx¦sªº¸ê®Æ¨Ó­«·s«Ø¥ß¥Ø¼Ð©Mªø´Á­q¾\¡B¦^´_¥Ã¤[©Ê°T®§¡B¦^´_¶}±Òªº§@·~¨Æ¥ó¡A¥H¤Î¬°¥¼¶Ç°eªº°T®§­«·s«Ø¥ß¨ä¸ô¥Ñªí®æ¡CµM«á¡A¥i¥HÄ~Äò°T®§»¼°e¡C

Message Queue ¤ä´©Àɮ׫¬»P JDBC «¬ªº¥Ã¤[©Ê¼Ò²Õ (½Ð°Ñ¾\¹Ï 4-1)¡CÀɮ׫¬ªº¥Ã¤[©Ê·|¨Ï¥Î­Ó§OªºÀɮרÓÀx¦s¥Ã¤[©Ê¸ê®Æ¡A¦Ó JDBC «¬ªº¥Ã¤[©Ê«h¨Ï¥Î Java ¸ê®Æ®w³s½u (JDBCª) ¤¶­±¡A±N¥N²zµ{¦¡³s½u¦Ü»P JDBC ¬Û®eªº¸ê®Æ¦s©ñ°Ï¡CÁöµMÀɮ׫¬ªº¥Ã¤[©Ê³t«×³q±`¤ñ JDBC «¬ªº§ó§Ö¡A¦ý¦³¨Ç¨Ï¥ÎªÌÁÙ¬O°¾¦n JDBC ¬Û®e¦s©ñ°Ï´£¨Ñªº³Æ´©¥\¯à»PºÞ²z±±¨î¥\¯à¡C¥N²zµ{¦¡°t¸m¯S©Ê imq.persist.store (½Ð°Ñ¾\ªí 14-4) ¥i«ü©w¨âºØ§Î¦¡ªº¥i¥Î¥Ã¤[©Ê¡C

¹Ï 4-1 ¥Ã¤[©Ê¸ê®Æ¦s©ñ°Ï

¹ÏªíÅã¥Ü¥Ã¤[©ÊªA°È·|¨Ï¥Î¥­­±Àɮ׫¬¸ê®Æ¦s©ñ°Ï©Î JDBC «¬¸ê®Æ¦s©ñ°Ï¡C

Àɮ׫¬¥Ã¤[©Ê

¨Ì¹w³]¡AMessage Queue·|¨Ï¥ÎÀɮ׫¬¥Ã¤[¸ê®Æ¦s©ñ°Ï¡A¨ä¤¤ªº­Ó§OÀÉ®×·|Àx¦s¦p°T®§¡B¥Ø¼Ð¡Bªø´Á­q¾\»P¥Ã¤[©Ê¸ê®Æµ¥¡C»PÀɮ׫¬¥Ã¤[©Ê¬ÛÃöªº¥N²zµ{¦¡°t¸m¯S©Ê¡A·|¦bÀɮ׫¬¥Ã¤[©Ê ¤¤¦C¥X¡C

Àɮ׫¬¦s©ñ°Ï¦ì©ó¥H¸ê®Æ¦s©ñ°Ï©ÒÄݤ§¥N²zµ{¦¡¹ê¨Ò (instanceName) §@¬°¿ëÃѨ̾ڪº¥Ø¿ý¤¤¡G

.../instances/instanceName/fs350/

(½Ð°Ñ¾\ªþ¿ý A¡uMessage Queue ¸ê®Æªº¥­¥x¯S©w¦ì¸m¡v¡A¥HÁA¸Ñ¹ê¨Ò¥Ø¿ýªº©Ò¦b¦ì¸m¡C) ¥N²zµ{¦¡¤Wªº¨C­Ó¥Ø¼Ð¡A³£·|±N¨ä«O¯d°T®§ªº¤l¥Ø¿ý¶Ç°e¨ì¸Ó¥Ø¼Ð¤W¡C


³Æµù

¥Ñ©ó¥Ã¤[¦s©ñ°Ï¥i¯à¥]§t±Ó·P©Î±M¦³°T®§¡A¦]¦¹±zÀ³«OÅ@ .../instances/instanceName/fs350/ ¥Ø¿ý¡A¥H¨¾¤î¥¼¸g±ÂÅvªº¦s¨ú¡A½Ð°Ñ¾\«OÅ@¥Ã¤[©Ê¸ê®Æ¡C


©Ò¦³«D°T®§ªº¥Ã¤[©Ê¸ê®Æ¡A³£Àx¦s©ó­Ó§OÀɮפ¤¡G¨ä¤¤¤@­ÓÀɮץΩóÀx¦s¥Ø¼Ð¡B¤@­ÓÀɮץΩóÀx¦sªø´Á­q¾\¡A¤@­ÓÀɮץΩóÀx¦s§@·~¨Æ¥óª¬ºA¸ê°T¡C¤j³¡¤À°T®§·|Àx¦s¦b¥ÑÅܼƫ¬°O¿ý²Õ¦¨ªº³æ¤@Àɮפ¤¡C±z¥i¥HÀ£ÁY¦¹ÀɮסA¥H«K´î¤Ö·s¼W©Î²¾°£°T®§®Éªº¤À¬qµ{§Ç (½Ð°Ñ¾\À£ÁY¹êÅé¥Ø¼Ð)¡C¦¹¥~¡A¶W¹L¯S©wÁ{¬É­È¤j¤pªº°T®§·|Àx¦s©ó¦Û¨­ªº­Ó§OÀɮפ¤¡A¦Ó«DÀx¦s©óÅܼƫ¬°O¿ýÀɮסC±z¥i¥H¨Ï¥Î¥N²zµ{¦¡¯S©Ê imq.persist.file.message.max_record_size °t¸m¦¹Á{¬É­È¤j¤p¡C

¥N²zµ{¦¡·|¬°³o¨Ç­Ó§O°T®§Àɮ׫O¯dÀɮצÀ¡GÀɮפ£¦A¨Ï¥Î®É¡A¤£·|³Qª½±µ§R°£¡A¦Ó·|¶Ç¦^¨ä¥Ø¼Ð¥Ø¿ýªº¥i¥ÎÀɮצÀ¤¤¡A¥H¨Ñ¤é«á¨ä¥L°T®§­«½Æ¨Ï¥Î¡C¥N²zµ{¦¡¯S©Ê imq.persist.file.destination.message.filepool.limit ¥i«ü©w¦À¤¤ªº³Ì¤jÀɮ׼ơC·í¥Ø¼Ð¤¤ªº­Ó§O°T®§Àɮ׼ƶW¹L¦¹­­¨î®É¡A­YÀɮפw¤£»Ý¨Ï¥Î¡A´N·|ª½±µ³Q§R°£¡A¦Ó¤£·|¶Ç¦^¦À¤¤¡C

±NÀɮ׶Ǧ^ÀɮצÀ®É¡A¥N²zµ{¦¡¥iª½±µ±NÀɮ׼Хܬ°¥i¨Ñ­«½Æ¨Ï¥Î¡A¦Ó¤£»Ý§R°£¨ä¥ý«eªº¤º®e¡A³o¼Ë°µ¥i¸`¬Ù®É¶¡¡A¦ý·|¯Ó¥ÎÀx¦sªÅ¶¡¡C±z¥i¥H¨Ï¥Î imq.persist.file.message.filepool.cleanratio ¥N²zµ{¦¡¯S©Ê¡A«ü©w¨C­Ó¥Ø¼ÐªºÀɮצÀ¤¤¦³¦h¤Ö¦Ê¤À¤ñªºÀÉ®×À³«O«ù¬°²M°£ (ªÅ¥Õ) ª¬ºA¡A¦Ó«Dª½±µ¼Ð¥Ü¬°¥i¨Ñ­«½Æ¨Ï¥Îªºª¬ºA¡C¦¹­È³]±o¶V°ª¡AÀɮצÀ©Ò»ÝªºªÅ¶¡´N¶V¤Ö¡A¦ý¦bÀɮ׶Ǧ^¦À«á¡A«h»Ý­n¸û¦hªº¨t²Î¸ê·½¨Ó²M°£Àɮתº¤º®e¡C­Y¥N²zµ{¦¡ªº imq.persist.file.message.cleanup ¯S©Ê¬° true¡A«h¦À¤¤©Ò¦³ªºÀÉ®×´N·|¦b¥N²zµ{¦¡Ãö³¬®É³Q²MªÅ¡A¦Ó¦¨¬°²M°£ª¬ºA¡F¦p¦¹±N¥i¸`¬ÙÀx¦sªÅ¶¡¡A¦ý·|´î½wÃö³¬µ{§Çªº³t«×¡C

§@·~¨t²Î±N¸ê®Æ¼g¤J¥Ã¤[¦s©ñ°Ï®É¡A¥i¿ï¾ÜÀ³¥H¦P¨BÁÙ¬O©µ¿ð («D¦P¨B) ªº¤è¦¡¼g¤J¸ê®Æ¡C¦b¨t²Î·í¾÷ªº±¡ªp¤U¡A­Y¥N²zµ{¦¡»{¬°¸ê®Æ¤w¼g¤J¥Ã¤[¦s©ñ°Ï¡A¦ý¨Æ¹ê¤W¨Ã«D¦p¦¹®É¡A©µ¿ðÀx¦s´N¥i¯à¾É­P¸ê®Æ¿ò¥¢¡C¬°½T«O§¹¥þªº¥i¾a©Ê (¥²¶·Ä묹®Ä¯à)¡A±z¥i¥H±N¥N²zµ{¦¡¯S©Ê imq.persist.file.sync.enabled ³]¬° true¡A¨Ï©Ò¦³¸ê®Æ¬Ò¥H¦P¨B¤è¦¡¼g¤J¡C¦p¦¹¤@¨Ó¡A·í¨t²Î±q·í¾÷ª¬ºA¦^´_®É±N¥²©w·|¦³¥i¥Îªº¸ê®Æ¡AÅý¥N²zµ{¦¡¯à¥i¾a¦aÄ~Äò°õ¦æ§@·~¡C¦ý½Ðª`·N¡AÁöµM¸ê®Æ¨Ã¥¼¿ò¥¢¡A¦ýÂO¶°¤ºªº¥ô¦ó¨ä¥L¥N²zµ{¦¡µLªk¨Ï¥Î³o¨Ç¸ê®Æ¡A¦]¬°ÂO¶°¥N²zµ{¦¡¦¹®É¨Ã¥¼¦@¥Î¸ê®Æ¡C

JDBC «¬¥Ã¤[©Ê

±z¤]¥i¥H¤£¨Ï¥ÎÀɮ׫¬¥Ã¤[©Ê¡A¦Ó³]©w¥N²zµ{¦¡³z¹L»P JDBC ¬Û®eªºÅX°Êµ{¦¡¦s¨ú¥ô¦ó¥i¦s¨úªº¸ê®Æ¦s©ñ°Ï¡C¨ä¤¤¥]§t³]©w¾A·íªº JDBC ¬ÛÃö¥N²zµ{¦¡°t¸m¯S©Ê¡A¥H¤Î¨Ï¥Î¸ê®Æ®wºÞ²z­û¤½¥Îµ{¦¡ (imqdbmgr)¡A«Ø¥ß¨ã¦³¾A·í¼Ò¦¡ªº¸ê®Æ®w¡C¦p»Ý¯S©w¸ê°T¡A½Ð°Ñ¾\°t¸m JDBC «¬¦s©ñ°Ï¡C

°t¸m¥N²zµ{¦¡¨Ï¥Î JDBC ¸ê®Æ®wªº¯S©Ê¡A¦C©ó JDBC «¬¥Ã¤[©Ê ¤¤¡C±z¥i¥H³z¹L¥H¤U¤è¦¡«ü©w³o¨Ç¯S©Ê¡G¨Ï¥Î¨C­Ó¥N²zµ{¦¡¹ê¨Òªº¹ê¨Ò°t¸mÀÉ (config.properties)¡A©ÎªÌ¨Ï¥Î¥N²zµ{¦¡¤½¥Îµ{¦¡ (imqbrokerd) ©Î¸ê®Æ®wºÞ²z­û¤½¥Îµ{¦¡ (imqdbmgr) ªº -D «ü¥O¦æ¿ï¶µ¡C

imq.persist.jdbc.driver ¯S©Ê¥i´£¨Ñ¦b³s½u¸ê®Æ®w®É­n¨Ï¥Îªº JDBC ÅX°Êµ{¦¡¤§ Java Ãþ§O¦WºÙ¡C¥t¥~¡A¨ä¥L¯S©Ê¥ç¥i«ü©w¤U¦C§@·~©Ò»Ýªº URL¡G³s½u¦Ü²{¦³ªº¸ê®Æ®w (imq.persist.jdbc.opendburl)¡B«Ø¥ß·s¸ê®Æ®w (imq.persist.jdbc.createdburl) ¥H¤ÎÃö³¬¸ê®Æ®w³s½u (imq.persist.jdbc.closedburl)¡C

imq.persist.jdbc.user »P imq.persist.jdbc.password ¯S©Ê¡A¥i´£¨Ñ¦s¨ú¸ê®Æ®w©Ò»Ýªº¨Ï¥ÎªÌ¦WºÙ»P±K½X¡Fimq.persist.jdbc.needpassword ¬O«ü©w¬O§_»Ý­n±K½Xªº¥¬ªL­ÈºX¼Ð¡C°ò©ó¦w¥þ²z¥Ñ¡A±K½X¶È¯à¦b³z¹L -passfile «ü¥O¦æ¿ï¶µ©Ò«ü©wªº±K½XÀɮפ¤¡F­Y¥¼«ü©w¦¹±K½XÀɮסAimqbrokerd »P imqdbmgr «ü¥O´N·|¥H¤¬°Ê¤è¦¡´£¥Ü¨Ï¥ÎªÌ´£¨Ñ±K½X¡C¦P¼Ë¦a¡A¨Ï¥ÎªÌ¦WºÙ¤]¥i¥H±q«ü¥O¦æ¤W³z¹L imqbrokerd «ü¥Oªº -dbuser ¿ï¶µ¡A©Î imqdbmgr ªº -u ¿ï¶µ´£¨Ñ¡C

¥Ñ¦h­Ó¥N²zµ{¦¡¹ê¨Ò¦@¥Îªº JDBC ¸ê®Æ®w¤¤¡A°t¸m¯S©Ê imq.persist.jdbc.brokerid ¥i¬°¨C­Ó¹ê¨Ò«ü©w°ß¤@ªº¹ê¨ÒÃѧO½X¡A¥Hªþ¥[¨ì¸ê®Æ®wªí®æªº¦WºÙ¤¤¡C(¥Ñ©ó¤º´O¦¡¸ê®Æ®w¶È¬°¤@­Ó¥N²zµ{¦¡¹ê¨ÒÀx¦s¸ê®Æ¡A¦]¦¹³q±`¤£»Ý­n¦¹ÄÝ©Ê¡C) ¨ä¾l»P JDBC ¬ÛÃöªº°t¸m¯S©Ê¡A¥i¥Î¥H¦Û­q«Ø¥ß¸ê®Æ®w¼Ò¦¡ªº SQL µ{¦¡½X¡A¨C­Ó¸ê®Æ®wªí®æ¦U¦³¤@­Ó¾A¥Îªº¯S©Ê¡C¨Ò¦p¡Aimq.persist.jdbc.table.IMQSV35 ¯S©Ê´£¨Ñªº SQL «ü¥O¥i¥Î¥H«Ø¥ßª©¥»ªí®æ¡Fimq.persist.jdbc.table.IMQCCREC35 ¥i¥Î©ó«Ø¥ß°t¸mÅܧó°O¿ýªí®æ¡Fimq.persist.jdbc.table.IMQDEST35 «h¥Î©ó«Ø¥ß¥Ø¼Ðªí®æ¡A¨Ì¦¹Ãþ±À¡C½Ð°Ñ¾\ªí 14-6 ¥H¨ú±o§¹¾ã²M³æ¡C


³Æµù

¥Ñ©ó¸ê®Æ®w¨t²Î¦b¹ê»Ú©Ò»Ýªº SQL »yªk¤¤¦³©Ò¤£¦P¡A¦]¦¹½Ð½T©w¬d¬Ý¸ê®Æ®w¨ÑÀ³°Ó´£¨Ñªº¤å¥ó¡A¥HÁA¸Ñ¸Ô²Ó¸ê°T¡C


¦w¥þ©ÊªA°È

Message Queue ¥i´£¨Ñ¨Ï¥ÎªÌ¦s¨ú±±¨î (»{ÃÒ»P±ÂÅv) »P¥[±K©Ò»Ýªº¦w¥þ©ÊªA°È¡G

¨­¬° Message Queue ºÞ²z­û¡A±z¥²¶·­t³d³]©w¥N²zµ{¦¡¶i¦æ¨Ï¥ÎªÌ»{ÃҤΨϥΪ̱ÂÅv§@·~®É©Ò»Ýªº¸ê°T¡C»P¦w¥þ©ÊªA°È¬ÛÃöªº¥N²zµ{¦¡¯S©Ê¡A¦C©ó¦w¥þ©Ê¯S©Ê¤¤¡C¥¬ªL­È¯S©Ê imq.accesscontrol.enabled ªº¨¤¦â¬°¥D­n°Ñ¼Æ¡A¥i±±¨î¦s¨ú±±¨î¬O§_®M¥Î©ó¾ã­Ó¥N²zµ{¦¡¤¤¡F­Y­n¶i¤@¨B±±¨î¡A±z¥i¥H¬°¯S©wªº³s½uªA°ÈÂмg¦¹³]©w¡A¥u­n³]©w imq.serviceName.accesscontrol.enabled ¯S©Ê§Y¥i¡A¨ä¤¤ serviceName ¬O³s½uªA°Èªº¦WºÙ¡A¦pªí 4-1 ©Ò¥Ü¡G¨Ò¦p imq.httpjms.accesscontrol.enabled¡C

¹Ï 4-2 Åã¥Ü¥N²zµ{¦¡´£¨Ñ»{ÃÒ»P±ÂÅvªA°È®É©Ò»Ýªº¤¸¥ó¡C³o¨ÇªA°È¨ú¨M©ó¥]§t°T®§¶Ç°e¨t²Î¨Ï¥ÎªÌ¬ÛÃö¸ê°Tªº¨Ï¥ÎªÌÀx¦s®w¡G¨ä¦WºÙ¡B±K½X»P¸s²Õ¦¨­û¨­¥÷¡C¦¹¥~¡A­Y­n¬°¨Ï¥ÎªÌ©Î¸s²Õªº¯S©w§@·~±ÂÅv¡A¥N²zµ{¦¡¥²¶·¬d¸ß¦s¨ú±±¨î¯S©ÊÀɮסA¦]¬°¦¹Àɮ׫ü©w¤F¨Ï¥ÎªÌ©Î¸s²Õ¥i°õ¦æªº§@·~¡C±z¥i¥H¨Ï¥Î°t¸m¯S©Ê imq.accesscontrol.file.filename¡A¬°¾ã­Ó¥N²zµ{¦¡«ü©w³æ¤@¦s¨ú±±¨î¯S©ÊÀɮסA¤]¥i¥H¨Ï¥Î imq.serviceName.accesscontrol.file.filename¡A¬°³æ¤@³s½uªA°È¶i¦æ«ü©w¡C

¹Ï 4-2 ¦w¥þ©Ê¤ä´©

¹ÏªíÅã¥Ü¥N²zµ{¦¡ªº¦w¥þ©ÊªA°È±Ä¥Î¨Ï¥ÎªÌÀx¦s®w©M¦s¨ú±±¨î¯S©ÊÀɮסCºÞ²z­û¥i¨Ï¥Î imqusermgr ¤u¨ã¨ÓºÞ²z¥­­±ÀÉ®×Àx¦s®w¡C

¦p¹Ï 4-2 ©Ò¥Ü¡A±z¥i¥H±N¨Ï¥ÎªÌ¸ê®ÆÀx¦s¦bÀHªþ©ó Message Queue ªA°Èªº¥­­±ÀɮרϥΪÌÀx¦s®w¤¤¡A¤]¥i¥H´¡¤J¹w¥ý¦s¦bªºÂ²©ö¸ê®Æ¦s¨ú¨ó©w (LDAP) Àx¦s®w¡G

¥N²zµ{¦¡ªº imq.authentication.basic.user_repository ¯S©Ê¡A¥i«ü©w­n¨Ï¥ÎªºÀx¦s®wÃþ«¬¡C¤@¯ë¦Ó¨¥¡A­Y©µ¦ù©Ê¬O¥D­n¦Ò¶q¡A©ÎªÌÀx¦s®w»Ý­n¥Ñ¤£¦Pªº¥N²zµ{¦¡¦@¥Î (¨Ò¦p¡A±z¨Ï¥Îªº¬O¥N²zµ{¦¡ÂO¶°)¡A«h¨Ï¥Î LDAP Àx¦s®w¬O¤£¿ùªº¿ï¾Ü¡C¦p»Ý³]©w¥­­±ÀɮשΠLDAP ¨Ï¥ÎªÌÀx¦s®wªº¬ÛÃö¸ê°T¡A½Ð°Ñ¾\»{ÃҨϥΪ̡C

»{ÃÒ

½Ð¨D³s½u¦Ü¥N²zµ{¦¡ªº¥Î¤áºÝ¥²¶·´£¨Ñ¨Ï¥ÎªÌ¦WºÙ»P±K½X¡A¨Ñ¥N²zµ{¦¡±N¨ä»P¨Ï¥ÎªÌÀx¦s®w¤¤Àx¦sªº¸ê®Æ¶i¦æ¤ñ¸û¡C±q¥Î¤áºÝ¶Ç¿é¨ì¥N²zµ{¦¡ªº±K½X¡A·|¥H°ò¥» 64 ½s½X (¾A¥Î©ó¥­­±ÀÉ®×Àx¦s®w) ©Î°T®§ºK­n (MD5) Âø´ê (¾A¥Î©ó LDAP Àx¦s®w) ¶i¦æ½s½X¡C¿ï¾Ü­þ¤@ºØ½s½X¤è¦¡¥Ñ¥N²zµ{¦¡ªº imq.authentication.type ¯S©Ê¾ãÅé±±¨î¡A©Î¥Ñ imq.serviceName. authentication.type °w¹ï¯S©w³s½uªA°È¥[¥H±±¨î¡Cimq.authentication.client.response.timeout ¯S©Ê·|³]©w»{ÃҽШDªº¹O®É¶¡¹j¡C

¦p¨Ï¥Î±K½XÀɮשҭz¡A±z¥i¥H¿ï¾Ü±N±K½X¦s¤J±K½XÀɮפ¤¡A¦Ó¤£»Ý¥H¤¬°Ê¤è¦¡´£¥Ü±z´£¨Ñ±K½X¡C¥¬ªL­È¥N²zµ{¦¡¯S©Ê imq.passfile.enabled ¥i±±¨î¦¹¿ï¶µ¡C­Y¦¹¯S©Ê¬° true¡A«h imq.passfile.dirpath »P imq.passfile.name ¯S©Ê´N·|´£¨Ñ±K½XÀɮתº¥Ø¿ý¸ô®|»PÀɮצWºÙ¡Cimq.imqcmd.password ¯S©Ê (¥i¤º´O©ó±K½XÀɮפ¤) ¥i«ü©wºÞ²z¨Ï¥ÎªÌ¦b¨Ï¥Î«ü¥O¤½¥Îµ{¦¡ (imqcmd) ºÞ²z¥N²zµ{¦¡¡B³s½uªA°È¡B³s½u¡B¹êÅé¥Ø¼Ð¡Bªø´Á­q¾\»P§@·~¨Æ¥ó«e¡A©Ò¨Ï¥Îªº»{ÃÒ±K½X¡C

­Y±z¨Ï¥Î LDAP «¬¨Ï¥ÎªÌÀx¦s®w¡A«h·|¦³¥þ³¡ªº¥N²zµ{¦¡¯S©Ê¥i¨Ñ±z°t¸m¦U¤è­±ªº LDAP ¬d¸ß¡CLDAP ¦øªA¾¹¥»¨­ªº¦ì§} (¥D¾÷¦WºÙ»P³s±µ°ð¸¹½X) ¥Ñ imq.user_repository.ldap.server ©Ò«ü©w¡Cimq.user_repository.ldap.principal ¯S©Ê·|´£¨Ñ³sµ²¨ì LDAP Àx¦s®w©Ò»ÝªºÃѧO¦WºÙ¡A¦Ó imq.user_repository.ldap.password «h·|´£¨Ñ¬ÛÃöªº±K½X¡C¨ä¥L¯S©Ê·|«ü©w­Ó§O¨Ï¥ÎªÌ»P¸s²Õ·j´Mªº¥Ø¿ý°ò©³»P¿ï¥Î JNDI ¿z¿ï¾¹¡A¥H¤Î¨Ï¥ÎªÌ©M¸s²Õ¦WºÙªº´£¨ÑªÌ¯S©wÄÝ©ÊÃѧO½Xµ¥µ¥¡F½Ð°Ñ¾\¦w¥þ©Ê¯S©Ê ¥HÁA¸Ñ¸Ô²Ó¸ê°T¡C

±ÂÅv

¸g¹L»{ÃÒ«á¡A¨Ï¥ÎªÌ§Y¦³Åv°õ¦æ¦U¶µ Message Queue ªº¬ÛÃö¬¡°Ê¡C¨­¬°Message QueueºÞ²z­û¡A±z¥i¥H©w¸q¨Ï¥ÎªÌ¸s²Õ¡A¨Ã«ü©w¨ä­Ó§Oªº¨Ï¥ÎªÌ¦¨­û¨­¥÷¡C¹w³]¦s¨ú±±¨î¯S©ÊÀÉ®×·|©ú½T°Ñ¦Ò¤@­Ó¸s²Õ admin (½Ð°Ñ¾\¸s²Õ)¡C¦¹¸s²Õ¤¤ªº¨Ï¥ÎªÌ¨ã¦³ admin ³s½uªA°Èªº³s½uÅv­­¡A¦¹Åv­­¥iÅý¨Ï¥ÎªÌ°õ¦æºÞ²z¥\¯à¡A¦p«Ø¥ß¥Ø¼Ð¡BºÊµø¤Î±±¨î¥N²zµ{¦¡¡C¨Ì¹w³]¡A±z©w¸qªº¥ô¦ó¨ä¥L¸s²Õ¤¤ªº¨Ï¥ÎªÌ¡A§¡µLªk¨ú±o admin ªA°È³s½u¡C

·í¨Ï¥ÎªÌ¹Á¸Õ°õ¦æ§@·~®É¡A¥N²zµ{¦¡·|Àˬd¨Ï¥ÎªÌ¦WºÙ©M¸s²Õ¦¨­û¨­¥÷ (±q¨Ï¥ÎªÌÀx¦s®w)¡A¬O§_»P¬°¦s¨ú¦¹§@·~©Ò«ü©wªº¨º¨Ç¦WºÙ©M¦¨­û¨­¥÷ (¦b¦s¨ú±±¨î¯S©ÊÀɮפ¤) ¬Û²Å¡C¦s¨ú±±¨î¯S©ÊÀÉ®×¥i«ü©w¨Ï¥ÎªÌ©Î¸s²Õ°õ¦æ¤U¦C§@·~®ÉªºÅv­­¡G

¥[±K

­Y­n¹ï¦b¥Î¤áºÝ»P¥N²zµ{¦¡¤§¶¡¶Ç°eªº°T®§¥[±K¡A»Ý­n¨Ï¥Î¦w¥þ®M±µ¼h (SSL) «¬¼Ð·Çªº³s½uªA°È¡C³z¹L¦b¤w±Ò¥Î SSL ªº¥N²zµ{¦¡»P¥Î¤áºÝ¤§¶¡«Ø¥ß¥[±Kªº³s½u¡ASSL ¥i´£¨Ñ³s½u¼h¯Åªº¦w¥þ©Ê¡C

­Y­n¨Ï¥Î SSL «¬ªº Message Queue ³s½uªA°È¡A±z¥²¶·¨Ï¥Îª÷Æ_¤u¨ã¤½¥Îµ{¦¡ (imqkeytool)¡A²£¥Í¦¨¹ïªº¨p±Kª÷Æ_/¤½¶}ª÷Æ_¡C¦¹¤½¥Îµ{¦¡·|±N¤½¶}ª÷Æ_¤º´O©ó¦Û¨­Ã±¦Wªº¾ÌÃÒ¤¤¡A¨Ã©ñ¸m¦b Message Queue ª÷Æ_¦s©ñ°Ï¤¤¡Cª÷Æ_¦s©ñ°Ï¥»¨­¨ü±K½X«OÅ@¡A­Y­n¸Ñ°£Âê©w¡A±z¥²¶·´£¨Ñ¦b±Ò°Ê®É´£¨Ñªºª÷½X¦s©ñ°Ï±K½X¡A¦¹±K½X¥Ñ imq.keystore.password ¯S©Ê©Ò«ü©w¡C¤@¥¹ª÷Æ_¦s©ñ°Ï¸Ñ°£Âê©w¡A¥N²zµ{¦¡§Y¥i±N¾ÌÃҶǰe¦Ü½Ð¨D³s½uªº¥ô¦ó¥Î¤áºÝ¡CµM«á¡A¥Î¤áºÝ§Y¥i¨Ï¥Î¦¹¾ÌÃÒ³]©w»P¥N²zµ{¦¡ªº¥[±K³s½u¡C

imq.audit.enabled ¥N²zµ{¦¡¯S©Ê¥i±±¨î°O¿ý¨ì Message Queue ¥N²zµ{¦¡°O¿ýÀɤ¤ªº½]®Ö°O¿ý¡F¦p»Ý¬ÛÃö¸ê°T¡A½Ð°Ñ¾\«Ø¥ß½]®Ö°O¿ý¡C

ºÊµøªA°È

¥N²zµ{¦¡¥]§t¥iºÊµø¤Î¶EÂ_À³¥Îµ{¦¡»P¥N²zµ{¦¡®Ä¯àªº¤¸¥ó¡C³o¨Ç¤¸¥ó¥]¬A¡G

¹Ï 4-3 ¤¤·|»¡©ú¤@¯ë¤è®×¡C¥Î¥H°t¸m¤ÎºÊµøªA°Èªº¥N²zµ{¦¡¯S©Ê¡A¦C©óÀ˵ø¯S©Ê¤¤¡C

¹Ï 4-3 ºÊµø¤ä´©

¹ÏªíÅã¥Ü°O¿ýµ{¦¡ªº¿é¤J¤º®e¡B¿ù»~¼h¯Å©M¿é¥X³q¹D¡C¹Ï¥H¤å¦r¤¶²Ð¡C

«×¶q²£¥Í¾¹

«×¶q²£¥Í¾¹¥i´£¨Ñ¥N²zµ{¦¡¬¡°Êªº¬ÛÃö¸ê°T¡A¨Ò¦p¶Ç¤J©M¶Ç¥X¥N²zµ{¦¡ªº°T®§¬y¶q¡B¥N²zµ{¦¡°O¾ÐÅ餤ªº°T®§¼Æ¶q©M¨Ï¥Îªº°O¾ÐÅé¡B¶}±Ò³s½uªº¼Æ¶q¡A¥H¤Î¨Ï¥Îªº°õ¦æºü¼Æ¶q¡C¥¬ªL­È¥N²zµ{¦¡¯S©Ê imq.metrics.enabled ¥i±±¨î¬O§_°O¿ý¦¹Ãþ¸ê°T¡Fimq.metrics.interval «h«ü©w¨äÀW²v¡C

°O¿ýµ{¦¡

°O¿ýµ{¦¡·|Â^¨ú¥N²zµ{¦¡µ{¦¡½X»P«×¶q²£¥Í¾¹©Ò²£¥Íªº¸ê°T¡A¨Ã±N¦¹¸ê°T¼g¤J¼Ð·Ç¿é¥X (¥D±±¥x)¡B°O¿ýÀÉ¡F­Y¦b Solaris ¥­¥x¤W¡A¦bµo¥Í¿ù»~®É«h·|¼g¤J syslog ±`¾nµ{¦¡µ{§Ç¡C­n¨Ï¥Îªº°O¿ýÀÉ¥Ñ imq.log.file.dirpath »P imq.log.file.filename ¥N²zµ{¦¡¯S©ÊÃѧO¡Fimq.log.console.stream ·|«ü©w¥D±±¥x¿é¥XÀ³¾É¦V stdout ÁÙ¬O¾É¦V stderr¡C

imq.log.level ¯S©Ê¥i±±¨î°O¿ýµ{¦¡©Ò¦¬¶°ªº«×¶q¸ê°TºØÃþ¡GERROR¡BWARNING ©Î INFO¡C¨C­Ó¼h¯Å³£·|¥]§t§ó°ªªº¼h¯Å¡A¦]¦¹¡A­Y±z«ü©w WARNING §@¬°°O¿ý¼h¯Å¡A«h¤]·|°O¿ý¿ù»~°T®§¡Cimq.log.console.output »P imq.log.file.output ¯S©Ê¤À§O·|±±¨î­þ¨Ç«ü©wªººØÃþ·|¼g¤J¥D±±¥x»P°O¿ýÀÉ¡C¦ý¦b¦¹±¡ªp¤U¡AºØÃþ¤£¥]§t¤ñ¦Û¨­§ó°ªªº¼h¯Å¡F¨Ò¦p¡A¦pªG­n±N¿ù»~»Pĵ§i¼g¤J°O¿ýÀÉ¡A¥B±N°Ñ¦Ò°T®§¼g¤J¥D±±¥x®É¡A¥²¶·©ú½T±N imq.log.file.output ³]¬° ERROR|WARNING¡A±N imq.log.console.output ³]¬° INFO¡C¦b Solaris ¥­¥x¤W¦³¥t¤@­Ó¯S©Ê imq.log.syslog.output¡A¥i«ü©w­n¼g¤J syslog ±`¾nµ{¦¡ªº«×¶q¸ê°TºØÃþ¡C¥t¥~ÁÙ¦³ imq.destination.logDeadMsgs ¯S©Ê¡A¥i«ü©w¦b°±¥Î°T®§³Q±Ë±ó©Î²¾¦Ü°±¥Î°T®§¦î¦C®É¡A¬O§_­n¥[¥H°O¿ý¡C

¦b°O¿ýÀɤ¤¡A±z¥i¥H«ü©w¦ó®ÉÃö³¬ÀɮרñN¿é¥X¦Û°Ê­««Ø¦Ü·sÀɮסC¤@¥¹°O¿ýÀɹF¨ì«ü©wªº¤j¤p (imq.log.file.rolloverbytes) ©Î¦s¦b®É¶¡ (imq.log.file.rolloversecs)¡A´N·|±N¨äÀx¦s¨Ã«Ø¥ß·sªº°O¿ýÀÉ¡C

½Ð°Ñ¾\À˵ø¯S©Ê¡A¥HÁA¸Ñ»P°O¿ý¦³Ãöªº¨ä¥L¥N²zµ{¦¡¯S©Ê¡A¨Ã°Ñ¾\°t¸m¤Î¨Ï¥Î¥N²zµ{¦¡°O¿ý¥\¯à¡A¥H¶i¤@¨BÁA¸Ñ¦p¦ó°t¸m°O¿ýµ{¦¡¡A¥H¤Î¦p¦ó§Q¥Î°O¿ýµ{¦¡¨ú±o®Ä¯à¸ê°T¡C

«×¶q¸ê°T²£¥ÍªÌ (Enterprise Edition)

«×¶q°T®§²£¥ÍªÌ·|¦b©T©w®É¶¡¶¡¹j¡A±q«×¶q²£¥Í¾¹±µ¦¬¸ê°T¡A¨Ã±N¸Ó¸ê°T¼g¤J«×¶q°T®§¡AµM«á®Ú¾Ú°T®§¤¤¥]§tªº«×¶q¸ê°TÃþ«¬¡A±N°T®§¶Ç°e¨ì²³¦h«×¶q¥DÃD¥Ø¼Ð¤§¤@ (½Ð°Ñ¾\ªí 4-2)¡C­q¾\³o¨Ç«×¶q¥DÃD¥Ø¼Ðªº Message Queue ¥Î¤áºÝ¡A¥i¥H¨Ï¥Î³o¨Ç°T®§¨Ã³B²z°T®§©Ò¥]§tªº«×¶q¸ê®Æ¡C³o¤¹³\¶}µoªÌ«Ø¥ß¦Û­qºÊµø¤u¨ã¥H¤ä´©°T®§¶Ç°eÀ³¥Îµ{¦¡¡C¦p»Ý¨C­Ó«×¶q°T®§Ãþ«¬¤¤©Ò³ø§i¤§«×¶q¼Æ¶q¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\¡uMessage Queue Developer's Guide for Java Clients¡v¡C

ªí 4-2 «×¶q¥DÃD¥Ø¼Ð 

¥DÃD¦WºÙ

«×¶q¸ê°TªºÃþ«¬

mq.metrics.broker

¥N²zµ{¦¡«×¶q

mq.metrics.jvm

Java µêÀÀ¾÷¾¹«×¶q

mq.metrics.destination_list

¥Ø¼Ð¤Î¨äÃþ«¬ªº²M³æ

mq.metrics.destination.queue.queueName

¯S©w¦î¦Cªº¥Ø¼Ð«×¶q

mq.metrics.destination.topic.topicName

¯S©w¥DÃDªº¥Ø¼Ð«×¶q

¥N²zµ{¦¡¯S©Ê imq.metrics.topic.enabled »P imq.metrics.topic.interval¡A¥i¤À§O±±¨î°T®§¬O§_­n¶Ç°e¨ì«×¶q¥DÃD¥Ø¼Ð¤Î¨äÀW²v¡Cimq.metrics.topic.timetolive »P imq.metrics.topic.persist ¯S©Ê¥i«ü©w¦¹Ãþ°T®§ªº¦³®Ä´Á¤Î¨ä¬O§_¨ã¦³¥Ã¤[©Ê¡C

°£¤F«×¶q°T®§¤º¤å¥]§tªº¸ê°T¥~¡A¨C­Ó°T®§¼ÐÀYÁÙ¥]¬A´£¨Ñ¤U¦C¸ê°Tªº¯S©Ê¡G

³o¨Ç¯S©Ê¹ï³B²z¤£¦PÃþ«¬©Î¤£¦P¥N²zµ{¦¡ªº«×¶q°T®§¤§¥Î¤áºÝÀ³¥Îµ{¦¡¤Q¤À¦³¥Î¡C


³]©w¥N²zµ{¦¡¯S©Ê

±z¥i¥H¨Ï¥Î¤U¦C¨âºØ¤èªk¤§¤@¨Ó«ü©w¥N²zµ{¦¡ªº°t¸m¯S©Ê¡G

¥H¤U¨â¸`±N»¡©ú³o¨âºØ°t¸m¥N²zµ{¦¡ªº¤èªk¡C

°t¸mÀÉ®×

¥N²zµ{¦¡°t¸mÀɧt¦³°t¸m¥N²zµ{¦¡©Ò»Ýªº¯S©Ê³]©w¡C³o¨Ç³]©w·|®Ú¾Ú±z©Ò¨Ï¥Îªº§@·~¨t²Î¥­¥x¦s©ñ¦b¾A·íªº¥Ø¿ý¤¤¡F½Ð°Ñ¾\ªþ¿ý A¡uMessage Queue ¸ê®Æªº¥­¥x¯S©w¦ì¸m¡v¡A¥HÁA¸Ñ¸Ô²Ó¸ê°T¡C¦¹¥Ø¿ýÀx¦s¥H¤UÀɮסG

¦¹¥~¡A¦U­Ó¥N²zµ{¦¡¹ê¨Ò¤]¦³¨ä¥»¨­ªº¹ê¨Ò°t¸mÀɮסA¦p¤U©Ò­z¡C¦pªG±z³s½uÂO¶°¤¤ªº¥N²zµ{¦¡¹ê¨Ò¡A¥i¯àÁٻݭn¨Ï¥ÎÂO¶°°t¸mÀÉ®×¥H«ü©wÂO¶°°t¸m¸ê°T¡F¦p»Ý¬ÛÃö¸ê°T¡A½Ð°Ñ¾\ÂO¶°°t¸m¯S©Ê¡C

±Ò°Ê®É¡A¥N²zµ{¦¡·|¦X¨Ö¤£¦P°t¸mÀɮפ¤ªº¯S©Ê­È¡C¦p¹Ï 4-4 ©Ò¥Ü¡A³o¨ÇÀÉ®×·|§Î¦¨¤@­Ó¶¥¼h¡A¹ê¨Ò°t¸mÀɮתº«ü©w­È·|¦b¨ä¤¤Âмg¦w¸Ë°t¸mÀɮפ¤ªº«ü©w­È¡AµM«á¦AÂмg¹w³]°t¸mÀɮפ¤ªº«ü©w­È¡C¦b¶¥¼h³»ºÝ¡A±z¥i¥H¤â°ÊÂмg¥ô¦ó¦b°t¸mÀɮפ¤«ü©wªº¯S©Ê­È¡A¥u­n¨Ï¥Î imqbrokerd «ü¥Oªº«ü¥O¦æ¿ï¶µ§Y¥i¡C

¹Ï 4-4 ¥N²zµ{¦¡°t¸mÀÉ®×

¹ÏªíÅã¥Ü«ü¥O¦æ¿ï¶µÂмg config.properties ¿ï¶µ¡Aconfig.properties ¿ï¶µÂмg install.properties ¿ï¶µ¡A¦Ó install.properties ¿ï¶µ«hÂмg¹w³]¿ï¶µ¡C

½s¿è¹ê¨Ò°t¸mÀÉ®×

­º¦¸°õ¦æ¥N²zµ{¦¡®É¡A·|«Ø¥ß¤@­Ó§t¦³¸Ó¥N²zµ{¦¡¹ê¨Ò¤§°t¸m¯S©Êªº¹ê¨Ò°t¸mÀɮסC¦¹¹ê¨Ò°t¸mÀɮצW¬° config.properties¡AÀx¦s¦b¥H¨ä©ÒÄݤ§¥N²zµ{¦¡¹ê¨Ò¦WºÙ©ÒÃѧOªº¥Ø¿ý¤¤¡G

(½Ð°Ñ¾\ªþ¿ý A¡uMessage Queue ¸ê®Æªº¥­¥x¯S©w¦ì¸m¡v¡A¥HÁA¸Ñ instances ¥Ø¿ýªº¦ì¸m¡C) ­Y¸ÓÀɮפ£¦s¦b¡A±z¥²¶·¦b±Ò°Ê¥N²zµ{¦¡®É¨Ï¥Î -name ¿ï¶µ (½Ð°Ñ¾\¥N²zµ{¦¡¤½¥Îµ{¦¡)¡A«ü©w¥i¨Ñ Message Queue «Ø¥ßÀɮתº¹ê¨Ò¦WºÙ¡C


³Æµù

instances/instanceName ¥Ø¿ý©M¹ê¨Ò°t¸mÀɮסAÂk¨ä¹ïÀ³ªº¥N²zµ{¦¡¹ê¨Òªº«Ø¥ßªÌ©Ò¦³¡C¥N²zµ{¦¡¹ê¨Ò¥²¶·©l²×¥Ñ¦P¤@­Ó¨Ï¥ÎªÌ­«·s±Ò°Ê¡C


¹ê¨Ò°t¸mÀɮץѥN²zµ{¦¡¹ê¨Ò©ÒºûÅ@¡A¨Ã·|¦b±z¨Ï¥Î Message Queue ºÞ²z¤½¥Îµ{¦¡Åܧó°t¸m®É¶i¦æ­×§ï¡C±z¤]¥i¥H¤â°Ê½s¿è¹ê¨Ò°t¸mÀɮסA¥H¦Û­q¥N²zµ{¦¡ªº¹B§@¤è¦¡»P¸ê·½¨Ï¥Î¡C­Y­n°õ¦æ¦¹°Ê§@¡A±z¥²¶·¬O instances/instanceName ¥Ø¿ýªº¾Ö¦³ªÌ¡A©Î¥H root ªº¨­¥÷µn¤J¡A¥HÅܧó¥Ø¿ýªº¦s¨úÅv­­¡C

¥N²zµ{¦¡¥u¯à¦b±Ò°Ê®ÉŪ¨ú¨ä¹ê¨Ò°t¸mÀɮסC­Y­n¹ï¥N²zµ{¦¡ªº°t¸m¶i¦æ¥Ã¤[©ÊªºÅܧó¡A¥²¶·¥ýÃö³¬¥N²zµ{¦¡¨Ã½s¿èÀɮסAµM«á¦A­«·s±Ò°Ê¥N²zµ{¦¡¡C¸ÓÀÉ®× (©Î¥ô¦ó°t¸mÀÉ®×) ¤¤ªº¯S©Ê©w¸q·|¨Ï¥Î¤U¦C»yªk¡G

¨Ò¦p¡A¥H¤U¶µ¥Ø«ü©w©Úµ´¨ä¥L°T®§«e¡A¥N²zµ{¦¡·|¦b°O¾ÐÅé©M¥Ã¤[¦s©ñ°Ï¤¤³Ì¦h«O¯d 50,000 ­Ó°T®§¡C

¥H¤U¶µ¥Ø«ü©w¨C¤Ñ (86,400 ¬í) ·|«Ø¥ß¤@­Ó·sªº°O¿ýÀÉ¡G

½Ð°Ñ¾\¥N²zµ{¦¡ªA°È»P²Ä 14 ³¹¡u¥N²zµ{¦¡¯S©Ê°Ñ·Ó¡v¡A¥HÁA¸Ñ¥i¥Î¥N²zµ{¦¡°t¸m¯S©Ê¤Î¨ä¹w³]­Èªº¬ÛÃö¸ê°T¡C

±q«ü¥O¦æ³]©w°t¸m¿ï¶µ

±z¥i¥H¦b±Ò°Ê¥N²zµ{¦¡®É©Î±Ò°Ê¤§«á¡A¦b«ü¥O¦æ¤W¿é¤J¥N²zµ{¦¡°t¸m¿ï¶µ¡C

±Ò°Ê®É¡A¥i¥H¨Ï¥Î¥N²zµ{¦¡¤½¥Îµ{¦¡ imqbrokerd ¨Ó±Ò°Ê¥N²zµ{¦¡¹ê¨Ò¡C«ü¥Oªº -D ¿ï¶µ¡A¥i¥Î¥H«ü©w¥ô¦ó¥N²zµ{¦¡°t¸m¯S©Ê¤Î¨ä­È¡F¦p»Ý¬ÛÃö¸ê°T¡A½Ð°Ñ¾\±Ò°Ê¥N²zµ{¦¡»P¥N²zµ{¦¡¤½¥Îµ{¦¡¡C¦pªG±z¨Ï¥ÎªA°ÈºÞ²z­û¤½¥Îµ{¦¡ (imqsvcadmin) ±N¥N²zµ{¦¡±Ò°Ê¬° Windows ªA°È¡A«h -args ¿ï¶µ¥i¥Î¨Ó«ü©w±Ò°Ê°t¸m¯S©Ê¡F½Ð°Ñ¾\ªA°ÈºÞ²z­û¤½¥Îµ{¦¡¡C

°õ¦æ¥N²zµ{¦¡¹ê¨Ò®É¡A±z¤]¥i¥HÅܧó¬Y¨Ç¥N²zµ{¦¡¯S©Ê¡C­Y­n­×§ï°õ¦æ¤¤¥N²zµ{¦¡ªº°t¸m¡A¥i¥H¨Ï¥Î«ü¥O¤½¥Îµ{¦¡ªº imqcmd update bkr «ü¥O¡F½Ð°Ñ¾\§ó·s¥N²zµ{¦¡¯S©Ê»P¥N²zµ{¦¡ºÞ²z¡C


°t¸m¥Ã¤[¸ê®Æ¦s©ñ°Ï

¥N²zµ{¦¡ªº¥Ã¤[¸ê®Æ¦s©ñ°Ï¤¤§t¦³¹êÅé¥Ø¼Ð¡Bªø´Á­q¾\¡B°T®§¡B§@·~¨Æ¥ó»P½T»{µ¥¶µ¥Øªº¬ÛÃö¸ê°T¡CMessage Queue ¥N²zµ{¦¡¹w³]·|¨Ï¥ÎÀɮ׫¬¥Ã¤[¦s©ñ°Ï¡A¦ý±z¥i¥H­«·s°t¸m¡A¥H´¡¤J¥ô¦ó¥i³z¹L JDBC ¬Û®eÅX°Êµ{¦¡¥[¥H¦s¨úªº¸ê®Æ¦s©ñ°Ï¡C¥N²zµ{¦¡°t¸m¯S©Ê imq.persist.store (½Ð°Ñ¾\ªí 14-4) ¥i«ü©w¨âºØ§Î¦¡ªº¥i¥Î¥Ã¤[©Ê¡C

¥»¸`±N»¡©ú¦p¦ó³]©w¥N²zµ{¦¡¨Ï¥Î¥Ã¤[¦s©ñ°Ï¡C¥¦¥]¬A¥H¤U¥DÃD¡G

°t¸mÀɮ׫¬¦s©ñ°Ï

«Ø¥ß¥N²zµ{¦¡¹ê¨Ò®É¡A·|¦Û°Ê«Ø¥ßÀɮ׫¬¸ê®Æ¦s©ñ°Ï¡C¦¹¦s©ñ°Ï¦ì©ó¥N²zµ{¦¡ªº¹ê¨Ò¥Ø¿ý¤¤¡F½Ð°Ñ¾\ªþ¿ý A¡uMessage Queue ¸ê®Æªº¥­¥x¯S©w¦ì¸m¡v¡A¥HÁA¸Ñ½T¤Á¦ì¸m¡C

¨Ì¹w³]¡AMessage Queue ·|«D¦P¨B¼g¤J§@·~¦ÜºÏºÐ¡C§@·~¨t²Î¥i¥H½w½Ä³o¨Ç§@·~¡A¥H´£¨Ñ§ó¦nªº®Ä¯à¡C¦ý¬O¡A¦pªG¼g¤J§@·~´Á¶¡µo¥Í·N¥~ªº¨t²Î¥¢±Ñ¡A«h°T®§¥i¯à·|¿ò¥¢¡C­Y­n¼W±j¥i¾a©Ê (¥²¶·Ä묹®Ä¯à)¡A±z¥i¥H³]©w¥N²zµ{¦¡¯S©Ê imq.persist.file.sync¡A§ï¬°¥H¦P¨B¤è¦¡¥H¼g¤J¸ê®Æ¡C¦p»Ý¦¹¯S©Êªº¸Ô²Ó°Q½×¡A½Ð°Ñ¾\Àɮ׫¬¥Ã¤[©Ê»Pªí 14-5¡C

±Ò°Ê¥N²zµ{¦¡¹ê¨Ò®É¡A¥i¥H¨Ï¥Î imqbrokerd «ü¥Oªº -reset ¿ï¶µ¨Ó²M°£Àɮרt²Î¦s©ñ°Ï¡C¦p»Ý¦¹¿ï¶µ¤Î¨ä¤l¿ï¶µªº§ó¦h¸ê°T¡A½Ð°Ñ¾\¥N²zµ{¦¡¤½¥Îµ{¦¡¡C

°t¸m JDBC «¬¦s©ñ°Ï

­Y­n°t¸m¥N²zµ{¦¡¨Ï¥Î JDBC «¬¥Ã¤[©Ê¡A½Ð¦b¥N²zµ{¦¡¹ê¨Ò°t¸mÀɮפ¤³]©w»P JDBC ¬ÛÃöªº¯S©Ê¡A¨Ã¥B«Ø¥ß¾A·íªº¸ê®Æ®w¼Ò¦¡¡CMessage Queue ¸ê®Æ®wºÞ²z­û¤½¥Îµ{¦¡ (imqdbmgr) ¨Ï¥Î JDBC ÅX°Êµ{¦¡©M¥N²zµ{¦¡°t¸m¯S©Ê¨Ó«Ø¥ß¤ÎºÞ²z¸ê®Æ®w¡C¤]¥i¥H¨Ï¥Î¸ê®Æ®wºÞ²z­û±q¸ê®Æ®w¤¤§R°£³o¨Ç·´Ãaªºªí®æ¡A©Î¨Ï¥Î¨ä¥L¸ê®Æ®w§@¬°¸ê®Æ¦s©ñ°Ï¡C½Ð°Ñ¾\¸ê®Æ®wºÞ²z­û¤½¥Îµ{¦¡¡A¥HÀò±o§ó¦h¸ê°T¡C


³Æµù

Oracle ©M PointBase ¸ê®Æ®w²£«~¦³°t¸m½d¨Ò¥i¨Ñ¨Ï¥Î¡C³o¨ÇÀɮתº¦ì¸mµø¥­¥x¦Ó²§¡A¦bªþ¿ý A¡uMessage Queue ¸ê®Æªº¥­¥x¯S©w¦ì¸m¡v¬ÛÃöªí®æªº¡u½d¨ÒÀ³¥Îµ{¦¡»P°t¸m¡v¤¤·|¦³¦C¥X¡C¦¹¥~¡APointBase ¤º´Oª©¥»¡BPointBase ¦øªA¾¹ª©¥»»P Oracle ªº½d¨Ò¡A·|¦b¹ê¨Ò°t¸mÀÉ®× config.properties ¤¤¥Hµù¸Ñ­Èªº§Î¦¡´£¨Ñ¡C


    °t¸m JDBC «¬¸ê®Æ¦s©ñ°Ï
  1. ¦b¥N²zµ{¦¡ªº°t¸mÀɮפ¤³]©w»P JDBC ¬ÛÃöªº¯S©Ê¡C
  2. ¬ÛÃö¯S©Ê¦b JDBC «¬¥Ã¤[©Ê¤¤°Q½×¡A¨Ã¦bªí 14-6 ¤¤¦C¥X¡C¯S§O¬O¡A±z¥²¶·±N¥N²zµ{¦¡ªº imq.persist.store ¯S©Ê³]¬° jdbc (½Ð°Ñ¾\ªí 14-4)¡C

  3. ±N JDBC ÅX°Êµ{¦¡ .jar Àɮתº°Æ¥»©Î²Å¸¹³sµ²©ñ¤J¤U¦C¦ì¸m¡G
  4. /usr/share/lib/imq/ext/ (Solaris)
    /opt/sun/mq/share/lib/ (Linux)
    IMQ_VARHOME\lib\ext (Windows)

    ¨Ò¦p¡A­Y±z­n¦b Solaris ¨t²Î¤W¨Ï¥Î PointBase¡A¤U¦C«ü¥O´N·|±NÅX°Êµ{¦¡ªº .jar Àɮ׽ƻs¨ì¾A·íªº¦ì¸m¤W¡G

    % cp j2eeSDKInstallDirectory/pointbase/lib/pointbase.jar /usr/share/lib/imq/ext

    ¤U¦C«ü¥O«h·|«Ø¥ß²Å¸¹³sµ²¡G

    % ln -s j2eeSDKInstallDirectory/lib/pointbase/pointbase.jar /usr/share/lib/imq/ext

  5. «Ø¥ß Message Queue ¥Ã¤[©Ê©Ò»Ýªº¸ê®Æ®w¼Ò¦¡¡C
  6. ¨Ï¥Î imqdbmgr create all «ü¥O (°w¹ï¤º´O¦¡¸ê®Æ®w) ©Î imqdbmgr create tbl «ü¥O (°w¹ï¥~³¡¸ê®Æ®w)¡F½Ð°Ñ¾\¸ê®Æ®wºÞ²z­û¤½¥Îµ{¦¡¡C

    1. ÅÜ§ó¬° imqdbmgr ©Ò¦bªº¥Ø¿ý¡G
    2. cd /usr/bin (Solaris)
      cd /opt/sun/mq/bin (Linux)
      cd IMQ_HOME\bin (Windows)

    3. ¿é¤J imqdbmgr «ü¥O¡G
    4. imqdbmgr create all


      ³Æµù

      ­Y¨Ï¥Î¤º´O¦¡¸ê®Æ®w¡A³Ì¦n¦b¤U¦C¥Ø¿ý¤¤«Ø¥ß¡G

      .../instances/instanceName/dbstore/databaseName

      ¦pªG¤º´O¦¡¸ê®Æ®w¥¼¥Ñ¨Ï¥ÎªÌ¦WºÙ©M±K½X«OÅ@¡A«h¥i¯à¥ÑÀɮרt²ÎÅv­­©Ò«OÅ@¡C­Y­n½T«O¥N²zµ{¦¡¥iŪ¨ú©M¼g¤J¸ê®Æ®w¡A«h°õ¦æ¦¹¥N²zµ{¦¡ªº¨Ï¥ÎªÌÀ³»P¨Ï¥Î imqdbmgr «ü¥O«Ø¥ß¤º´O¦¡¸ê®Æ®wªº¨Ï¥ÎªÌ¬Û¦P¡C


«OÅ@¥Ã¤[©Ê¸ê®Æ

¥Ã¤[¦s©ñ°Ï¥i¥H¥]§t¼È®ÉÀx¦sªº°T®§ÀɮשM¨ä¥L¸ê°T¡C¥Ñ©ó³o¨Ç°T®§¥i¯à¥]§t±M¥Î¸ê°T¡A½Ð°È¥²«OÅ@¸ê®Æ¦s©ñ°Ï¡A¥H¨¾¤î¥¼¸g±ÂÅvªº¦s¨ú¡C¥»¸`±N»¡©ú¦p¦ó½T«OÀɮ׫¬©Î JDBC «¬¤§¸ê®Æ¦s©ñ°Ïªº¸ê®Æ¦w¥þ¡C

«OÅ@Àɮ׫¬¦s©ñ°Ï

¨Ï¥ÎÀɮ׫¬¥Ã¤[©Êªº¥N²zµ{¦¡¡A·|±N¥Ã¤[©Ê¸ê®Æ¼g¤J¥­­±Àɮ׸ê®Æ¦s©ñ°Ï¤¤¡A¦Ó¦¹¦s©ñ°Ïªº¦ì¸m·|ÀH¥­¥x¦Ó¦³©Ò¤£¦P (½Ð°Ñ¾\ªþ¿ý A¡uMessage Queue ¸ê®Æªº¥­¥x¯S©w¦ì¸m¡v)¡G

instanceName ¬O¿ë§O¥N²zµ{¦¡¹ê¨Òªº¦WºÙ¡C

instanceName/fs350/ ¥Ø¿ý·|¦b¥N²zµ{¦¡¹ê¨Ò­º¦¸±Ò°Ê®É«Ø¥ß¡C«OÅ@¦¹¥Ø¿ýªºµ{§Ç¨ú¨M©ó°õ¦æ¥N²zµ{¦¡©Ò¦bªº§@·~¨t²Î¥­¥x¡G

«OÅ@ JDBC «¬¦s©ñ°Ï

¨Ï¥Î JDBC «¬¥Ã¤[©Êªº¥N²zµ{¦¡¡A·|±N¥Ã¤[©Ê¸ê®Æ¼g¤J»P JDBC ¬Û®eªº¸ê®Æ®w¤¤¡C¹ï©ó¥Ñ¸ê®Æ®w¦øªA¾¹©ÒºÞ²zªº¸ê®Æ®w (¨Ò¦p Oracle)¡A«Øij±z«Ø¥ß¨Ï¥ÎªÌ¦WºÙ©M±K½X¡A¥H¦s¨ú Message Queue ¸ê®Æ®wªí®æ (ªí®æ¦WºÙ¥H IMQ ¶}ÀY)¡C¦pªG¸ê®Æ®w¤£¤¹³\«OÅ@­Ó§Oªí®æ¡A½Ð«Ø¥ß¶È¥Ñ Message Queue ¥N²zµ{¦¡¨Ï¥Îªº±M¥Î¸ê®Æ®w¡C½Ð°Ñ¾\¸ê®Æ®w¨ÑÀ³°Ó´£¨Ñªº¤å¥ó¡A¥H¨ú±o¦p¦ó«Ø¥ß¨Ï¥ÎªÌ¦WºÙ/±K½X¦s¨úªº¬ÛÃö¸ê°T¡C

¥N²zµ{¦¡¶}±Ò¸ê®Æ®w³s½u©Ò»Ýªº¨Ï¥ÎªÌ¦WºÙ©M±K½X¡A¥i¥H´£¨Ñ¬°¥N²zµ{¦¡°t¸m¯S©Ê¡C¦ý­Y¦b±Ò°Ê¥N²zµ{¦¡®É±N¨ä´£¨Ñ§@¬°«ü¥O¦æ¿ï¶µ¡A«h¦³§ó°ªªº¦w¥þ©Ê¡A¤èªk¬O¨Ï¥Î imqbrokerd «ü¥Oªº -dbuser »P -dbpassword ¿ï¶µ (½Ð°Ñ¾\¥N²zµ{¦¡¤½¥Îµ{¦¡)¡C

¹ï©ó¥N²zµ{¦¡³z¹L¸ê®Æ®wªº JDBC ÅX°Êµ{¦¡ª½±µ¦s¨úªº¤º´O¦¡¸ê®Æ®w¡A³q±`¬O³z¹L³]©wÀɮצbÀx¦s¥Ã¤[©Ê¸ê®Æªº¥Ø¿ý¤WªºÅv­­¨Ó½T«O¦¹¸ê®Æ®wªº¦w¥þ¡A«OÅ@Àɮ׫¬¦s©ñ°Ï¤¤·|¦³¸Ô²Ó»¡©ú¡C¦ý¬O¬°½T«O¥N²zµ{¦¡©M¸ê®Æ®wºÞ²z­û¤½¥Îµ{¦¡³£¯àŪ¨ú©M¼g¤J¸Ó¸ê®Æ®w¡A¨âªÌÀ³¸Ó¥Ñ¦P¤@¦ì¨Ï¥ÎªÌ°õ¦æ¡C



¤W¤@­¶      ¥Ø¿ý      ¯Á¤Þ      ¤U¤@­¶     


¤å¥ó¸¹½X¡G819-3562¡C  Copyright © 2005 Sun Microsystems, Inc. ª©Åv©Ò¦³¡C