Õ¾ÄÚËÑË÷: ÇëÊäÈëËÑË÷¹Ø¼ü´Ê

µ±Ç°Ò³Ãæ: ¿ª·¢×ÊÁÏÊ×Ò³ ¡ú Java רÌâ ¡ú ÀûÓÃJMS½¨Á¢ÏûÏ¢´«µÝϵͳ

ÀûÓÃJMS½¨Á¢ÏûÏ¢´«µÝϵͳ

ÕªÒª: ÔÚ¿ªÊ¼Ö®Ç°ÐèҪ˵Ã÷£¬ÎªÁËÀí½â±¾ÎÄ£¬ÎÒÃÇÏ£Íû¶ÁÕßÓµÓÐJava±à³ÌµÄÏ൱¼áʵµÄ»ù´¡
¡¡¡¡ÔÚ¿ªÊ¼Ö®Ç°ÐèҪ˵Ã÷£¬ÎªÁËÀí½â±¾ÎÄ£¬ÎÒÃÇÏ£Íû¶ÁÕßÓµÓÐJava±à³ÌµÄÏ൱¼áʵµÄ»ù´¡¡£ÎÒÃǽ«ÊÔͼ¾¡¿ÉÄܼòµ¥µØ½âÊÍʲôÊÇJMS£¬µ«ÊÇÔÚÄãÄܹ»½¨Á¢×Ô¼ºµÄ³ÌÐò²¢ÕýÈ·µØÀí½âËüÃÇ֮ǰ£¬ÄãÐèÒªÓÐһЩʹÓÃJNDI¿ª·¢Êµ¼ÊÓ¦ÓóÌÐòµÄ¾­Ñé¡£

¡¡¡¡JMS£¨JavaÏûÏ¢·þÎñ£©ÊÇÒ»¸öÏûÏ¢½»»»±ê×¼£¬ËüÔÊÐíʹÓÃJ2EEÓ¦ÓóÌÐò×é¼þ½¨Á¢¡¢·¢ËÍ¡¢½ÓÊպͶÁÈ¡ÏûÏ¢¡£Ëü¼ÙÉè·Ö²¼Ê½Í¨Ñ¶ÓµÓÐ×ÔÓÉ£¨free£©µÄÁ¬½Ó¡¢ÊÇ¿É¿¿µÄ£¨reliable£©ºÍÒì²½µÄ£¨asynchronous£©¡£

¡¡¡¡Exchange£¨½»»»£©ÏµÍ³

¡¡¡¡ÏûÏ¢½»»»·´Ó³Á˳ÌÐò×é¼þ»òÓ¦ÓóÌÐòÖ®¼äµÄÒ»ÖÖ½»»¥×÷Óá£ÏûÏ¢½»»»ÏµÍ³ÊÇÒ»ÖÖÀàËÆÓÚϵÄϵͳ£ºÒ»¸öÏàËÆϵͳµÄ¿Í»§¶Ë¿ÉÒÔ·¢ËͺͽÓÊÕÈκÎÆäËü¿Í»§¶ËµÄÏûÏ¢¡£Ã¿¸ö¿Í»§¶Ë¶¼²¢ÈëϵͳµÄ´úÀíÖУ¬ËüÌṩÁ˽¨Á¢¡¢·¢ËÍ¡¢½ÓÊպͶÁÈ¡ÏûÏ¢µÄ¿ÉÄÜ¡£

¡¡¡¡½»»»ÏµÍ³Ê¹µÃ·Ö²¼Ê½µÄ½»»¥²Ù×÷³ÉΪ¿ÉÄÜ¡£×é¼þÔÚÄ¿µÄµØ£¨Destination£©·¢ËÍÏûÏ¢£¬ÊÕ¼þÈËÒ²¿ÉÒÔÔÚÏàͬµÄÄ¿µÄµØÖеõ½Õâ¸öÏûÏ¢¡£·¢ËÍÕߺÍÊÕ¼þÈ˲»Ò»¶¨ÊÇ»¥ÏàÊìϤµÄ¡£»»¾ä»°Ëµ£¬Ëü²¢Ã»ÓÐÇ¿ÆÈ·¢ËÍÕßÖªµÀһЩÊÕ¼þÈ˵ÄÐÅÏ¢£¬Ò²Ã»ÓÐÇ¿ÆÈÊÕ¼þÈËÖªµÀijЩ·¢ËÍÕßµÄÐÅÏ¢¡£·¢ËÍÕߺÍÊÕ¼þÈËÖ»ÐèÒªÖªµÀÏûÏ¢µÄ¸ñʽÒÔ¼°Òªµ½´ïµÄÄ¿µÄµØ¡£ÔÚÕâÖÖÇéÐÎÏ£¬ÉÏÊöµÄϵͳ²»Í¬ÓÚÓëËü½ôÃÜÏàÁ¬µÄһЩ¼¼Êõ£¬ÀýÈçÔ¶³Ì·½·¨µ÷Óã¨RMI£©£¬ËüÖ»ÒªÇ󿪷¢ÈËÔ±Á˽âRMIÖеÄһЩ·½·¨¡£

¡¡¡¡ÏûÏ¢´«µÝϵͳ

¡¡¡¡ÏûÏ¢´«µÝϵͳÊÇÒ»ÖÖ·Ö²¼Ê½µÄϵͳ£¬ÊÇ»ùÓÚϵͳ×é¼þÖ®¼äµÄÒì²½ÏûÏ¢½»»»¡£ÃæÏòÏûÏ¢µÄÖмä¼þ£¨Message-Oriented Middleware£¬MOM£©¾ÍÊÇÕâÖÖ²úÆ·£¬ÏûÏ¢´«µÝϵͳÊÇÔÚËüµÄÔ­ÀíÉϽ¨Á¢µÄ¡£

¡¡¡¡ÏûÏ¢´«µÝϵͳӦÓÃÈí¼þ²»»áÖ±½ÓµØͨѶ£¨ÕâÓ봫ͳµÄϵͳ£¨»ùÓÚRMIµÄ£©ÐγÉÏÊÃ÷µÄ¶ÔÕÕ£©£¬¶øÐèÒªÒÀÀµMOMµÄ°ïÖú¡£Èç¹ûϵͳµÄij¸ö×é¼þÏ£Íû¸øÁíÒ»¸ö×é¼þ·¢ËÍÏûÏ¢£¬Ëü½«°Ñ¸ø¶¨µÄÏûÏ¢·¢Ë͸øMOM£¬½Ó×ÅMOM°Ñ¸ÃÏûÏ¢·¢Ë͸øÊÕ¼þÈË¡£

<table width="90%" align=center border=0> <tr> <td> </td></tr></table>
¡¡¡¡Ó봫ͳµÄ»ùÓÚRMI¹¹½¨µÄϵͳÏà±È£¬ËüÓÐÒÔÏÂÓŵ㣺

¡¡¡¡¡¤ ·¢ËÍÏûÏ¢µÄÓ¦ÓóÌÐò²»ÐèÒªÆÚ´ý»ØÓ¦£¬¿ÉÒÔ¼ÌÐøÖ´ÐС£

¡¡¡¡¡¤ ûÓÐÇ¿ÆÈ·¢ËÍÏûÏ¢µÄÓ¦ÓóÌÐòºÍÌض¨ÏûÏ¢µÄÊÕ¼þÈËÔÚij¸öÌض¨µÄʱ¿ÌÊǼ¤»îµÄ¡£Èç¹ûÏûÏ¢µÄÊÕ¼þÈ˲»ÊǼ¤»îµÄ£¬MOM±£Ö¤ÊÕ¼þÈËÒ»µ©¼¤»î¾ÍÁ¢¼´ÊÕµ½¸ÃÏûÏ¢¡£

¡¡¡¡¡¤ ϵͳ×é¼þûÓÐÖ±½ÓµØ±Ë´ËÏàÁ¬¡£ËüÃDZ»·ÖÀ뿪ÁË£¬Õâ¾ÍÊÇÔÚÔËÐÐʱ¿ÌÄÜ°Ñ×é¼þ´ÓÒ»¸öÖ÷»ú´«Êäµ½ÁíÒ»¸ö¡¢È´²»»áÖжÏϵͳ¿ÉÓÃÐÔµÄÔ­Òò¡£

¡¡¡¡ÏûÏ¢½»»»Ä£ÐÍ£ºµã¶ÔµãÄ£Ðͺͷ¢±í£­Ô¤¶©Ä£ÐÍ

¡¡¡¡Ä¿Ç°ÓÐÁ½ÖÖ¡°»ù±¾µÄ¡±ÏûÏ¢½»»»Ä£ÐÍ£ºµã¶ÔµãÄ£Ðͺͷ¢±í£­Ô¤¶©£¨pub-sub£©Ä£ÐÍ¡£µã¶ÔµãÄ£ÐÍÓ¦ÓÃÓÚÒ»¸ö»ò¶à¸ö×é¼þ£¨·¢ËÍÕߣ©½ö½ö¸øÒ»¸ö×é¼þÊÕ¼þÈË£¨½ÓÊÕÕߣ©·¢ËÍÏûÏ¢µÄÇéÐΡ£ÕâÖÖÄ£ÐÍÊÇ»ùÓÚÏûÏ¢¶ÓÁиÅÄîµÄ£º·¢ËÍÕß°ÑÏûÏ¢·¢Ë͵½¶ÓÁÐÖУ¬½ÓÊÕÕߴӸöÓÁÐÖжÁÈ¡ÏûÏ¢¡£ÔÚµã¶ÔµãÄ£ÐÍÖУ¬ÏàͬµÄ¶ÓÁÐÉÏ¿ÉÄÜ´æÔÚ¶à¸ö½ÓÊÕÕߣ¬µ«ÊÇMOMÖ»¸øÆäÖÐÒ»¸ö´«µÝÏûÏ¢¡£¸øÄÄÒ»¸ö´«µÝÏûÏ¢ÒÀÀµÓÚMOMµÄʵÏÖ£¨implementation£©¡£

¡¡¡¡·¢±í£­Ô¤¶©Ä£ÐÍÓ¦ÓÃÓÚÒ»¸ö»ò¶à¸ö×é¼þ£¨·¢±íÕߣ©¸øÒ»¸ö»ò¶à¸ö×é¼þÊÕ¼þÈË£¨Ô¤¶©Õߣ©·¢ËÍÏûÏ¢µÄÇéÐΡ£ÕâÖÖÌض¨µÄÄ£ÐÍÊÇ»ùÓÚÏûÏ¢Ö÷Ì⣨message topic£©¸ÅÄîµÄ£º·¢±íÕß°ÑÏûÏ¢·¢Ë͵½Ä³¸öÖ÷ÌâÖУ¬¶ø¸ÃÌض¨Ö÷ÌâµÄÔ¤¶©Õß½ÓÊÕÕâЩÏûÏ¢¡£

¡¡¡¡·¢±í£­Ô¤¶©Ä£ÐÍ¿´ÆðÀ´¸ü¼Ó¡°ÓÅÑÅ¡±£¬µ«ÊǺܶ෢±í£­Ô¤¶©Ä£ÐͲ»Äܱ£Ö¤ÏûÏ¢°´ÕÕ·¢Ë͵ĴÎÐò´«µÝ£¨ËüÓëµã¶ÔµãÄ£ÐÍÏà·´£¬µã¶Ôµã¶ÓÁÐʵÏÖÁËFIFO£¨ÏȽøÏȳö£©Ô­Àí£©¡£Òò´Ë£¬ÏûÏ¢µÄ´ÎÐòºÜÖØÒª£¨»òÕßΪÁËͬ²½ÐèҪʹÓÃÏûÏ¢µÄÍ·ºÍÊôÐÔ²¿·Ö£©µÄʱºò£¬¾ÍÓ¦¸Ã±ÜÃâ²ÉÓ÷¢±í£­Ô¤¶©Ä£ÐÍ¡£

¡¡¡¡JavaÏûÏ¢·þÎñ£¨JMS£©ÊÇʹÓÃÃæÏòÏûÏ¢Öмä¼þµÄÒ»Ì×Java API£¬ËüÔÊÐíÄãµÄÓ¦ÓóÌÐò½¨Á¢¡¢·¢ËÍ¡¢½ÓÊպͶÁÈ¡ÏûÏ¢¡£Õâ×é³ÌÐò¼¯Î»ÓÚJ2EE³ÌÐò°ü½á¹¹Ê÷ÉϵÄjavax.jms³ÌÐò°üÖС£JMSÔںܶàMOM²úÆ·Öеõ½ÁËʵÏÖ£¬ÆäÖÐiPlanet Message Queue¡¢ IBM MQSeries¡¢Progress Software SonicMQ¡¢BEA WebLogic Server¡¢Prism Technologies OpenFusionµÈ×îÓÐÃûÆø£¬Ò²´æÔÚһЩÃâ·ÑµÄʵÏÖ¡£

¡¡¡¡JMSͬʱ֧³ÖÏûÏ¢½»»»µÄÁ½ÖÖ¡°»ù±¾µÄ¡±Ä£ÐÍ¡£µ«ÊÇ£¬Æä˵Ã÷£¨specification£©²¢Ã»ÓÐÒªÇó³§ÉÌͬʱʵÏÖÁ½ÖÖÄ£ÐÍ£¬¾¡¹Ü´ó¶àÊýJMS²úƷʵÏÖÁ˵ã¶ÔµãºÍ·¢±í£­Ô¤¶©Ä£ÐÍ¡£

¡¡¡¡JMSÓ¦ÓóÌÐò

¡¡¡¡JMSÓ¦ÓóÌÐòµÄÖ÷Òª²¿·ÖÊÇ£º

¡¡¡¡¡¤ ²úÉúÁ¬½ÓµÄ²¿·ÖºÍÄ¿µÄµØ

¡¡¡¡¡¤ Á¬½Ó

¡¡¡¡¡¤ ¶Ô»°

¡¡¡¡¡¤ ²úÉúÏûÏ¢µÄ²¿·Ö

¡¡¡¡ ¡¤ ʹÓÃÏûÏ¢µÄ²¿·Ö

¡¡¡¡¡¤ ÏûÏ¢

¡¡¡¡²úÉúÁ¬½ÓµÄ²¿·Ö£¨ConnectionFactory£©ÊǸºÔð½¨Á¢JMSÁ¬½ÓµÄ¶ÔÏó¡£Ã¿¸öConnectionFactory¶¼ÊÇQueueConnectionFactory»òTopicConnectionFactoryµÄÒ»¸ö¸±±¾£¨copy£©¡£MOM¹ÜÀíÆ÷½¨Á¢Ìض¨µÄ¶ÔÏ󣬲¢°ÑËüÓëJNDIÊ÷¹ØÁªÆðÀ´£¬ÕâÑùJMS¿Í»§¶Ë¾ÍÄܹ»Ê¹Óñê×¼µÄJNDI²éÕÒ±íµÃµ½ConnectionFactoryµÄÈë¿Ú¡£ÔÚµã¶ÔµãµÄÄ£ÐÍÖУ¬ËüʹÓÃÁËjavax.jms.QueueConnectionFactory£»ÔÚ·¢±í£­Ô¤¶©Ä£ÐÍÖУ¬ËüʹÓõÄÊÇjavax.jms.TopicConnectionFactory¡£

¡¡¡¡Ä¿µÄµØ£¨Destination£©¡ª¡ªËüÊǶÓÁлòÖ÷Ì⣬ÕâÒÀÀµÓÚÎÒÃÇʹÓÃÁËÏÂÃæÄÄÖÖÄ£ÐÍ£ºjavax.jms.Queue»òjavax.jms.Topic¡£

¡¡¡¡Á¬½Ó£¨Connection£©¡ª¡ªËü¿ÉÄÜÊÇ¿Í»§¶ËºÍ·þÎñÓ¦ÓÃÖ®¼äµÄ¿ª·ÅµÄTCP/IP¡£Ëü¿ÉÒÔ±»ÓÃÓÚ½¨Á¢Ò»¸ö»òÉÙÁ¿µÄ¶Ô»°¡£ÔÚÄãµÄÓ¦ÓóÌÐòÄܹ»½ÓÊÕÏûϢǰ£¬Äã±ØÐëµ÷ÓÃstart()·½·¨¡£ÎªÁËÔÝÍ£·¢ËÍÏûÏ¢£¬ÄãÐèÒªµ÷ÓÃstop()¡£

¡¡¡¡¶Ô»°£¨Session£©¡ª¡ªÔÚJMSÁ¬½ÓµÄ°ïÖúϽ¨Á¢µÄ¶ÔÏ󣬱»¿Í»§¶ËÓÃ×÷·¢ËͺͽÓÊÕÏûÏ¢¡£

¡¡¡¡²úÉúÏûÏ¢µÄ²¿·Ö£¨MessageProducer£©¡ª¡ª¶Ô»°½¨Á¢µÄ¶ÔÏ󣬱»ÓÃÓÚÔÚÄ¿µÄµØÖз¢ËÍÏûÏ¢¡£

¡¡¡¡Ê¹ÓÃÏûÏ¢µÄ²¿·Ö£¨MessageConsumer£©¡ª¡ª¶Ô»°½¨Á¢µÄ¶ÔÏó£¬ÓÃÓÚ½ÓÊÕÏûÏ¢¡£ÎªÁËͬ²½½ÓÊÕÏûÏ¢£¬ÐèҪʹÓÃreceive()·½·¨¡£¶ÔÓÚÒì²½µÄÇéÐΣ¬Ê¹ÓÃMessageListenerºÍΨһµÄ·½·¨¡ª¡ªonMessage()¡£Ôڸ÷½·¨ÖУ¬ÔÚ¶¨ÒåµÄÏûÏ¢µ½´ïºóÓ¦¸ÃÖ´ÐÐÒ»¶¨µÄ²Ù×÷¡£

¡¡¡¡ÏûÏ¢£¨Message£©¡ª¡ªÏûÏ¢±¾Éí¡£JMSÏûÏ¢ÓÉÈý¸ö²¿·Ö×é³É£º

¡¡¡¡¡¤ ÏûϢͷ

¡¡¡¡¡¤ ÊôÐÔ£¨²»ÊDZØÒªµÄ£©

¡¡¡¡¡¤ ÏûÏ¢Ì壨²»ÊDZØÒªµÄ£©

¡¡¡¡±¾ÎÄûÓнâÊ͸ü¶àµÄϸ½ÚÐÅÏ¢£¬Äã¿ÉÒÔÔÚ¹Ù·½ÎĵµÖÐÕÒµ½¾ßÌåµÄϸ½Ú¡£

¡¡¡¡Ê²Ã´Ê±ºòʹÓÃEJB 2.0

¡¡¡¡Çë×¢ÒâÏÂÊö¸÷ÏîÄÚÈÝ£º

¡¡¡¡ÔÚеÄEJB 2.0¹æ·¶ÖУ¬ÓëJMSµÄ¼¯³ÉÊÇͨ¹ý½¨Á¢ÐµÄEJBÀàÐÍ¡ª¡ªÏûÏ¢Çý¶¯Bean£¨MDB£©À´ÊµÏֵġ£MDBµÄÌØÐÔÊÇ¿Í»§¶Ë²»»áʹÓÃÔ¶³Ì½Ó¿Ú£¨remote interface£©ÓëËüͨѶ¡£Æä½»»¥²Ù×÷µÄΨһ;¾¶ÊÇͨ¹ýÏûÏ¢·¢ËÍ¡£MDB½ö½öÊÇÏûÏ¢¼àÌý³ÌÐò£¬ÊÇÒ»¸öʵÏÖÁËjavax.ejb.MessageDrivenBeanºÍjavax.jms.MessageListener½Ó¿ÚµÄÀ࣬ûÓÐÈκÎÆäËüµÄ¹¦ÄÜ¡£ÆäÖеĵÚÒ»¸ö½Ó¿ÚÖ»ÓÐÁ½¸ö·½·¨£ºsetMessageDrivenContext() ºÍejbRemove()¡£µÚ¶þ¸ö½Ó¿ÚÖ»ÓÐÒ»¸ö·½·¨£ºonMessage()¡£Õâ¸ö¹æ·¶»¹ÐèÒªÒ»¸ö²»´ø²ÎÊýµÄejbCreate()½¨Á¢·½·¨¡£¿Í»§¶Ë²»»áÖ±½ÓÓëMDBͨѶ£»Ëü²»»á½¨Á¢MDB¡£ÈÝÆ÷£¨container£©×ÔÉí¾ö¶¨Ê²Ã´Ê±ºòºÍÐèÒª¶àÉÙ¸öMDBÀ´´¦ÀíÀ ´×ÔÌض¨Ä¿µÄµØµÄÏûÏ¢¡£MDBµÄÖ÷ҪȱÏÝÊÇËüÖ»ÄÜ´ÓÒ»¸öÄ¿µÄµØ½ÓÊÕµ½ÏûÏ¢¡£

zmbbs=1;



¡ü·µ»ØĿ¼
ǰһƪ: Java¸üÐÂXMLµÄËÄÖÖ³£Ó÷½·¨¼ò½é
ºóһƪ: Java Applet»ù´¡ÈëÃÅÖ®Êý¾ÝÀàÐÍ