![]() | |
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
- ³s½uªA°È¥iºÞ²z¥N²zµ{¦¡»P¨ä¥Î¤áºÝ¤§¶¡ªº¹êÅé³s½u¡A°õ¦æ¤º°e©M¥~±H°T®§§@·~¡C
- ¸ô¥ÑªA°È¥i¸ô¥Ñ¤Î¶Ç°e JMS ¦³®Ät¸ü°T®§¡A¥H¤Î±±¨î°T®§ªA°È©Ò¨Ï¥Îªº°T®§¡A¥H¤ä´©¥i¾aªº¶Ç°e¡C
- ¥Ã¤[©ÊªA°È¥iºÞ²z¥Ã¤[¦s©ñ°Ïªº¼g¤J¸ê®Æ»PÂ^¨ú¸ê®Æ¡C
- ¦w¥þ©ÊªA°È¥i»{ÃÒ³s½u¦Ü¥N²zµ{¦¡ªº¨Ï¥ÎªÌ¡A¨Ã±ÂÅv¨ä°Ê§@¡C
- ºÊµøªA°È¥i²£¥Í¦³Ãö¥N²zµ{¦¡®Ä¯àªº«×¶q»P¶EÂ_¸ê°T¡C
¥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³æ¡FY¥¼©ú½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
¦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
- ¦b±MÄݼҫ¬¤¤¡A¥N²zµ{¦¡ªº¨CÓ³s½u§¡»Ýn¨âÓ°õ¦æºü¡G¤@ӥΩ󤺰e°T®§¡A¥t¤@ӥΩó¥~±H°T®§¡C³o·|¨î¥i¤ä´©ªº³s½u¼Æ¶q¡A¦ý¥i½T«O¸û°ªªº®Ä¯à¡C
- ¦b¦@¥Î¼Ò«¬¤¤¡A³s½u¦b¶Ç°e©Î±µ¦¬°T®§®É·|¥Ñ¦@¥Î°õ¦æºü¶i¦æ³B²z¡C¦¹¼Ò«¬¤¤ªº¦UÓ³s½u¤£»Ýn±MÄÝ°õ¦æºü¡A¦]¦¹¯à°÷´£°ª¥i¥Î³s½uªº¼Æ¶q¡A¦ý·|°§C®Ä¯à¡A¦]¬°¥²¶·¨Ï¥Î¸û¦h¸ê·½¨ÓºÞ²z°õ¦æºü¡C
¥N²zµ{¦¡ªº imq.serviceName.threadpool_model ¯S©Ê¡A¥i«ü©wµ¹©wªº³s½uªA°ÈÀ³¨Ï¥Î³o¨âºØ¼Ò«¬¤¤ªºþ¤@ºØ¡C¦¹¯S©Ê·|±Ä¥Î¤U¦C¨âÓ¦r¦êȤ§¤@¡G±MÄݩΦ@¥Î¡CY¥¼©ú½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¦bt¸ü¸û¤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
- ¾ãÓ¨t²Îªº°T®§¨î§¹¥þ¾A¥Î©ó¨t²Î¤W©Ò¦³ªº¹êÅé¥Ø¼Ð¡C¨ä¤¤¥]¬A¥N²zµ{¦¡«O¯d°T®§ªº¼Æ¶q¤W (imq.system.max_count)¡A¥H¤Î¦¹Ãþ°T®§©Ò¦û¥Îªº¦ì¤¸²ÕÁ`¼Æ¤W (imq.system.max_size)¡CY¹F¨ì¨ä¤¤¤@¶µ¨î¡A¥N²zµ{¦¡´N·|©Úµ´¥ô¦ó·sªº°T®§¡Aª½¨ìÀÁ¸mªº°T®§§C©ó¸Ó¨î¬°¤î¡C¦¹¥~¹ïÓ§O°T®§ªº¤j¤p¤W (imq.message.max_size) »P¦¬¦^¹L´Á°T®§ªº®É¶¡¶¡¹j (imq.message.expiration.interval) ¤è±¡A¤]¦³¬ÛÃöªº¨î¡C
- Ó§O¥Ø¼Ð¨î·|°w¹ï¶Ç°e¨ì¯S©w¹êÅé¥Ø¼Ðªº°T®§¨î©w¬yµ{¡C±±¨î³o¨Ç¨îªº°t¸m¯S©Ê¦b²Ä 15 ³¹¡u¹êÅé¥Ø¼Ð¯S©Ê°Ñ·Ó¡v¤¤¦³©Ò»¡©ú¡C³o¨Ç¨î¥]¬A¡G¥Ø¼Ð©Ò¯à«O¯dªº°T®§¼Æ¶q»P¤j¤p¡B©Ò¯à«Ø¥ßªº°T®§²£¥ÍªÌ»P¥Î¤áªº¼Æ¶q¡A¥H¤Î¥i¯Ç¤J¬Û¦P§å¦¸¶Ç°e¨ì¥Ø¼Ðªº°T®§¼Æ¶qµ¥µ¥¡C
¥Ø¼Ð¥i°t¸m¬°³z¹L¤U¦C¤è¦¡¦^À³°O¾ÐÅé¨î¡G´î½w°T®§²£¥ÍªÌ¶Ç°e°T®§ªº³t«×¡B©Úµ´·sªº¤º°e°T®§¡A©Î¥á±ó³Ì©ÎÀu¥ý¶¶§Ç³Ì§Cªº²{¦³°T®§¡C¥H³oºØ¤è¦¡±q¥Ø¼Ð¤¤§R°£ªº°T®§¡A¥i¿ï¾Ü©Ê¦a²¾¦Ü°±¥Î°T®§¦î¦C¤¤¡A¦Ó¤£·|ª½±µ±Ë±ó¡A¥N²zµ{¦¡¯S©Ê imq.destination.DMQ.truncateBody ¥i±±¨î¬O¾ãÓ°T®§¤º¤åÁÙ¬O¥u¦³¼ÐÀY»P¯S©Ê¸ê®ÆÀx¦s¦b°±¥Î°T®§¦î¦C¤¤¡C
¬°¤F¦b¶}µo¤Î´ú¸ÕÀ³¥Îµ{¦¡®É¤è«K§@·~¡A±z¥i¥H°t¸m°T®§¥N²zµ{¦¡¡A¨Ï¨ä¦b°T®§²£¥ÍªÌ©Î¥Î¤á¹Á¸Õ¦s¨ú¤£¦s¦bªº¥Ø¼Ð®É¡A¦Û°Ê«Ø¥ß·sªº¹êÅé¥Ø¼Ð¡Cªí 14-3 ¤¤©ÒºKnªº¥N²zµ{¦¡¯S©Ê»Pè軡©úªº¯S©Ê¬Û¦P¡A¦ý¾A¥Î©ó¦Û°Ê«Ø¥ßªº¥Ø¼Ð¡A¦Ó«DºÞ²zû©Ò«Ø¥ßªº¥Ø¼Ð¡C
¥Î¥H©w¸q³o¨Ç¼h¯Åªº°O¾ÐÅé¥Î¶q¦Ê¤À¤ñ¡A¤À§O¥Ñ¥N²zµ{¦¡¯S©Ê imq.green.threshold¡Bimq.yellow.threshold¡Bimq.orange.threshold »P imq.red.threshold ©Ò«ü©w¡A¹w³]Ȭ°ºñ¦â 0%¡B¶À¦â 80%¡B¾í¦â 90%¡B¬õ¦â 98%¡C
°O¾ÐÅé¥Î¶q¶i¤J¤U¤@¼h¯Å®É¡A¥N²zµ{¦¡§Y·|ÀH¤§§@¥X¦^À³¡Aº¥ý±N°T®§¥Ñ¨Ï¥Î¤¤°O¾ÐÅé²¾¥X¦Ü¥Ã¤[¦s©ñ°Ï¡AµM«á´î¤Ö«D¥Ã¤[©Ê°T®§ªº²£¥ÍªÌ¡A³Ì«á°±¤î°T®§¶Ç¤J¥N²zµ{¦¡¤¤¡C(¤Wz¨âºØ¤èªk¬Ò·|°§C¥N²zµ{¦¡®Ä¯à¡C) Yn´î¤Ö°T®§²£¥Í¡A¥²¶·¨î¨CӶǰe¨ì°T®§¼Æªº§å¦¸¤j¤p (¥Ñ imq.resourceState.count ¯S©Ê©Ò«ü©w¡A¨ä¤¤ resourceState ¤À§O¬°ºñ¦â¡B¶À¦â¡B¾í¦â©Î¬õ¦â)¡C
¥Ã¤[©ÊªA°È
¦pªG¥N²zµ{¦¡n¦b¥¢±Ñ®É¦^´_¡A«h¦¹¥N²zµ{¦¡»Ýn«·s«Ø¥ß¨ä°T®§¶Ç°e§@·~ªºª¬ºA¡CYn°õ¦æ¦¹§@·~¡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©ñ°Ï
Àɮ׫¬¥Ã¤[©Ê
¨Ì¹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¦¹¨î®É¡AYÀɮפ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¡CY¥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¡AY¥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Àɮפ¤¡FY¥¼«ü©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 ªº¨¤¦â¬°¥Dn°Ñ¼Æ¡A¥i±±¨î¦s¨ú±±¨î¬O§_®M¥Î©ó¾ãÓ¥N²zµ{¦¡¤¤¡FYn¶i¤@¨B±±¨î¡A±z¥i¥H¬°¯S©wªº³s½uªA°ÈÂмg¦¹³]©w¡A¥un³]©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¦¹¥~¡AYn¬°¨Ï¥ÎªÌ©Î¸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¥þ©Ê¤ä´©
¦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
- Y±z¿ï¾Ü¥±ÀÉ®×Àx¦s®w¡A´N¥²¶·¨Ï¥ÎMessage Queue¨Ï¥ÎªÌºÞ²zû¤½¥Îµ{¦¡ (imqusermgr) ºÞ²zÀx¦s®w¡C¦¹¬°¤º«Ø¿ï¶µ¡A¨Ï¥Î«D±`¤è«K¡C
- ¦pªG±zn¨Ï¥Î²{¦³ªº LDAP ¦øªA¾¹¡A¥i¥H¨Ï¥Î LDAP ¨ÑÀ³°Ó©Ò´£¨Ñªº¤u¨ã¨Ó¼g¤J©MºÞ²z¦¹¨Ï¥ÎªÌÀx¦s®w¡C±zÁÙ¥²¶·³]©w¥N²zµ{¦¡¹ê¨Ò°t¸mÀɤ¤ªº¯S©Ê¡A¨Ï¥N²zµ{¦¡¯à°÷¬d¸ß LDAP ¦øªA¾¹¡A¥H¨ú±o¨Ï¥ÎªÌ»P¸s²Õªº¬ÛÃö¸ê°T¡C
¥N²zµ{¦¡ªº imq.authentication.basic.user_repository ¯S©Ê¡A¥i«ü©wn¨Ï¥ÎªºÀx¦s®wÃþ«¬¡C¤@¯ë¦Ó¨¥¡AY©µ¦ù©Ê¬O¥Dn¦Ò¶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®§ºKn (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±±¨î¦¹¿ï¶µ¡CY¦¹¯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
Yn¹ï¦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
Yn¨Ï¥Î 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Å@¡AYn¸Ñ°£Âê©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 ºÊµø¤ä´©
«×¶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¿ýÀÉ¡FY¦b Solaris ¥¥x¤W¡A¦bµo¥Í¿ù»~®É«h·|¼g¤J syslog ±`¾nµ{¦¡µ{§Ç¡Cn¨Ï¥Îªº°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¦]¦¹¡AY±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ªGn±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«ü©wn¼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)¡Cq¾\³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
¥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¥un¨Ï¥Î imqbrokerd «ü¥Oªº«ü¥O¦æ¿ï¶µ§Y¥i¡C
¹Ï 4-4 ¥N²zµ{¦¡°t¸mÀÉ®×
½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¸ê·½¨Ï¥Î¡CYn°õ¦æ¦¹°Ê§@¡A±z¥²¶·¬O instances/instanceName ¥Ø¿ýªº¾Ö¦³ªÌ¡A©Î¥H root ªº¨¥÷µn¤J¡A¥HÅܧó¥Ø¿ýªº¦s¨úÅv¡C
¥N²zµ{¦¡¥u¯à¦b±Ò°Ê®ÉŪ¨ú¨ä¹ê¨Ò°t¸mÀɮסCYn¹ï¥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©Ê¡CYnקï°õ¦æ¤¤¥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¯à·|¿ò¥¢¡CYn¼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©ñ°Ï
Yn°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©ñ°Ï
- ¦b¥N²zµ{¦¡ªº°t¸mÀɮפ¤³]©w»P JDBC ¬ÛÃöªº¯S©Ê¡C
¬ÛÃö¯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
- ±N JDBC ÅX°Êµ{¦¡ .jar Àɮתº°Æ¥»©Î²Å¸¹³sµ²©ñ¤J¤U¦C¦ì¸m¡G
/usr/share/lib/imq/ext/ (Solaris)
/opt/sun/mq/share/lib/ (Linux)
IMQ_VARHOME\lib\ext (Windows)¨Ò¦p¡AY±zn¦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
- «Ø¥ß Message Queue ¥Ã¤[©Ê©Ò»Ýªº¸ê®Æ®w¼Ò¦¡¡C
¨Ï¥Î imqdbmgr create all «ü¥O (°w¹ï¤º´O¦¡¸ê®Æ®w) ©Î imqdbmgr create tbl «ü¥O (°w¹ï¥~³¡¸ê®Æ®w)¡F½Ð°Ñ¾\¸ê®Æ®wºÞ²zû¤½¥Îµ{¦¡¡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
- ¦b Solaris »P Linux ¤W¡A¥Ø¿ýªºÅv¨ú¨M©ó±Ò°Ê¥N²zµ{¦¡¹ê¨Ò¤§¨Ï¥ÎªÌªºÀÉ®×¼Ò¦¡«Ø¥ß¾B¸n (umask)¡C¦]¦¹¡A³z¹L¾A·í¦a³]©w¾B¸n¡A§Y¥i¨î±Ò°Ê¥N²zµ{¦¡¹ê¨Ò©MŪ¨ú¨ä¥Ã¤[©ÊÀɮתºÅv¡C¦¹¥~¡AºÞ²zû (¶W¯Å¨Ï¥ÎªÌ) ¥i¥H³z¹L±N instances ¥Ø¿ýªºÅv³]©w¬° 700¡A«OÅ@¥Ã¤[©Ê¸ê®Æ¡C
- ¦b Windows ¤W¡A¥Ø¿ýªºÅv¥i³z¹L Windows §@·~¨t²Î©Ò´£¨Ñªº¾÷¨î¨Ó³]©w¡C³o³q±`»Ýn¶}±Ò¥Ø¿ýªº [¤º®e] ¹ï¸Ü¤è¶ô¡C
«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