ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
¸»Ê¿¿µÐ¡ËµÍø ·µ»Ø±¾ÊéĿ¼ ¼ÓÈëÊéÇ© ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ¡ºÊղص½ÎÒµÄä¯ÀÀÆ÷¡»

JMS¼òÃ÷½Ì³Ì(PDF¸ñʽ)-µÚ10²¿·Ö

¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡



СÁËijЩÏûÏ¢´¦ÀíÅÅÐòʱ×ÊÔ´µÄʹÓᣡ¡¡¡



8¡£2¡£5¡¡ConnectionConsumer¡¡ÈçºÎʹÓÃServerSession¡¡¡¡



¡¡¡¡¡¡¡¡ÓÉJMS¡¡ÌṩÉÌʵÏÖµÄConnectionConsumer¡¡Ê¹ÓÃServerSession¡¡À´´¦ÀíÒ»µ½¶à¸öµ½´ïµÄÏû¡¡

Ï¢¡£°´ÒÔÏ·½Ê½×öÕâÏ×÷£º¡¡¡¡

¡¡¡¡¡¡¡¡z¡¡¡¡¡¡´ÓServerSessionPool¡¡Öеõ½Ò»¸öServerSession¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡z¡¡¡¡¡¡µÃµ½ServerSession¡¡µÄSession¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡z¡¡¡¡¡¡ÓÃÒ»¸ö»ò¶à¸öÏûÏ¢¼ÓÔØSession¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡z¡¡¡¡¡¡È»ºóÆäËûServerSession¡¡À´Ïû·ÑÕâЩÏûÏ¢¡£¡¡¡¡

¡¡¡¡¡¡¡¡ÓÃÓÚQueueConnection¡¡µÄConnectionConsumer¡¡½«ËüµÄÏûÏ¢¼ÓÔص½QueueSession£¬Í¬Ñù£¬¡¡

ÓÃÓÚTopicConnection¡¡µÄConnectionConsumer¡¡¼ÓÔØTopicSession¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡×¢Ò⣬JMS¡¡¡¡¡¡¡¡¡¡¡¡Ã»ÓÐ˵Ã÷¡¡ConnectionConsumer¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÈçºÎÓÃÏûÏ¢¼ÓÔØ¡¡Session¡¡¡£ÓÉÓÚ¡¡

ConnectionConsumer¡¡ºÍSession¡¡¶¼ÓÉͬһ¸öJMS¡¡ÌṩÉÌʵÏÖ£¬Òò´ËËüÃÇ¿ÉÒÔÓÃ˽ÓлúÖÆÍê³É¡¡

ÕâÖÖ¼ÓÔØ¡£¡¡¡¡



8¡£2¡£6¡¡Ó¦Ó÷þÎñÆ÷ÈçºÎʵÏÖServerSession¡¡¡¡



¡¡¡¡¡¡¡¡JMS¡¡Ã»ÓÐ˵Ã÷ServerSession¡¡µÄʵÏÖ¡£ÏÂÃæ³öÏÖµÄÆÕͨʵÏÖ½âÊÍÁËÕâ¸ö¸ÅÄ¡¡¡¡

¡¡¡¡¡¡¡¡z¡¡¡¡¡¡Ó¦Ó÷þÎñÆ÷Ϊ¡¡ServerSession¡¡¡¡¡¡¡¡¡¡¡¡´´½¨Ò»¸öỊ̈߳¬×¢²á¡¡ServerSession¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄ¡¡runObject¡¡¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡runObject¡¡µÄʵÏÖÊÇÓ¦Ó÷þÎñÆ÷˽Óеġ£¡¡¡¡

¡¡¡¡¡¡¡¡z¡¡¡¡¡¡ServerSession¡¡µÄstart¡¡·½·¨µ÷ÓÃÏ̵߳Ästart¡¡·½·¨¡£ºÍËùÓеÄjava¡¡Ïß³ÌÒ»Ñù£¬µ÷ÓÃstart¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡³õʼ»¯Ï̵߳ÄÖ´Ðв¢µ÷ÓÃÏ̵߳ÄrunObject¡£ServerSession¡£start£¨ConnectionConsumer£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄµ÷ÓÃÕߺÍServerSession¡¡µÄrunObject¡¡ÏÖÔÚÔËÐÐÔÚ²»Í¬µÄÏß³ÌÖС£¡¡¡¡

¡¡¡¡¡¡¡¡z¡¡¡¡¡¡runObject¡¡¡¡½«×öһЩÄÚ²¿´¦ÀíÈ»ºóµ÷ÓûỰµÄ¡¡run£¨£©·½·¨¡£ÔÚ·µ»Øʱ£¬runObject¡¡¡¡½«¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ServerSession¡¡·µ»Ø¸øServerSessionPool¡¡È»ºó·µ»Ø¡£ÕâÖÕÖ¹ÁËServerSession¡¡Ï̵߳ÄÖ´¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÐУ¬²¢ÔÙ´ÎÑ­»·Æô¶¯¡£¡¡¡¡



8¡£2¡£7¡¡½á¹û¡¡¡¡



¡¡¡¡¡¡¡¡JMS¡¡¶¨ÒåÁËÁé»îµÄ»úÖƽ«²¢·¢ÏûÏ¢Ïû·ÑµÄ¹¤×÷²ð·Ö³ÉÊʺÏÓÚÿ¸ö²ÎÓëÕߵĽÇÉ«¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡52¡¡/¡¡66¡¡¡¡

¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡53¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ó¦ÓóÌÐòÔ±ÌṩһÖÖÒ×ÓÚÊéдµ¥Ï̵߳ÄMessageListener¡¡ÊµÏÖ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡JMS¡¡ÌṩÕß±£³Ö¶ÔÏûÏ¢µÄ¿ØÖÆÖ±µ½ËüÃDZ»×ª·¢µ½MessageListener¡£Õâ±£Ö¤ËüÊÇÔÚÏûϢȷ¡¡

ÈϵÄÖ±½Ó¿ØÖÆ֮ϡ£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ó¦Ó÷þÎñÆ÷¿ØÖÆConnectionConsumer¡¡µÄÉèÖú͹ÜÀíÓÃÓÚÖ´ÐÐMessageListener¡¡µÄÏ̡߳£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂͼ½âÊÍÁËÈý¸ö½ÇÉ«ºÍËüÃÇʵÏֵĶÔÏó¼äµÄ¹Øϵ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂͼ½âÊÍÁËConnectionConsumer¡¡½«ÏûϢת·¢¸øMessageListener¡¡µÄ¹ý³Ì¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡53¡¡/¡¡66¡¡¡¡

¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡54¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



8¡£3¡¡¡¡XAConnectionFactory¡¡¡¡



¡¡¡¡¡¡¡¡Ä³Ð©Ó¦Ó÷þÎñÆ÷Ìṩ¶ÔÓÃÓÚ·Ö²¼Ê½ÊÂÎñµÄ×ÊÔ´·Ö×éÌṩ֧³Ö¡£ÎªÁËÔÚ·Ö²¼Ê½ÊÂÎñÖаüº¬¡¡

JMS¡¡ÊÂÎñ£¬Ó¦Ó÷þÎñÆ÷ÒªÇóJTA¡¡¼æÈÝJMS¡¡ÌṩÉÌ¡£JMS¡¡ÌṩÉÌÓÃJMS¡¡XAConnectionFactory¡¡±©¡¡

¶ËüµÄJTA¡¡Ö§³Ö£¬Ó¦Ó÷þÎñÆ÷ʹÓÃXAConnectionFactory¡¡À´´´½¨XAConnection¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡XAConnectionFactory¡¡ÌṩÁ˺ÍConnectionFactory¡¡Ò»ÑùµÄÊÚȨѡÏî¡£¡¡¡¡

¡¡¡¡¡¡¡¡XAConnectionFactory¡¡¶ÔÏóÊÇJMS¡¡ÊܹÜÀí¶ÔÏ󣬾ÍÏñConnectionFactory¡¡¶ÔÏó¡£ÆÚÍûÓÃÓ¦¡¡

Ó÷þÎñÆ÷ʹÓÃJNDI¡¡ÕÒµ½ËüÃÇ¡£¡¡¡¡



8¡£4¡¡¡¡XAConnection¡¡¡¡



¡¡¡¡¡¡¡¡XAConnection¡¡Í¨¹ýÌṩ´´½¨XASession¡¡À©Õ¹ÁËConnection¡¡µÄÄÜÁ¦¡£¡¡¡¡



8¡£5¡¡¡¡XASession¡¡¡¡



¡¡¡¡¡¡¡¡XASession¡¡ÌṩÁË»ñÈ¡¿´ÆðÀ´ÏóÆÕͨ¡¡Session¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶ÔÏóµÄ¶ÔÏóºÍ¿ØÖƻỰÊÂÎñÉÏÏÂÎĵġ¡

javax¡£transaction¡£xa¡£XAResource¡¡¶ÔÏó¡£XAResource¡¡µÄ¹¦Äܷdz£ÀàËÆÓÚ±ê×¼X/Open¡¡XA¡¡×ÊÔ´½Ó¡¡

¿Ú¶¨ÒåµÄ¹¦ÄÜ¡£¡¡¡¡

¡¡¡¡¡¡¡¡Ó¦Ó÷þÎñÆ÷ͨ¹ý»ñÈ¡XAResource¡¡À´¿ØÖÆXASession¡¡¡¡µÄÊÂÎñ·ÖÅä¡£ËüʹÓÃXAResource¡¡À´¡¡

½«»á»°·ÖÅä¸ø·Ö²¼Ê½ÊÂÎñ£¬×¼±¸ºÍÌá½»ÊÂÎñÉϵŤ×÷µÈµÈ¡£¡¡¡¡

¡¡¡¡¡¡¡¡XAResource¡¡Îª¶àÊÂÎñÉϵĽ»²æ¹¤×÷¡¢»Ö¸´´¦ÀíÖеÄÊÂÎñÁбíµÈµÈÌṩÁ˹«Æ½µÄרҵ¹¤¡¡

¾ß¡£JTA¡¡¸ÐÖªµÄJMS¡¡ÌṩÉϱØÐëÈ«²¿ÊµÏÖÕâ¸ö¹¦ÄÜ¡£Õâ¿ÉÒÔͨ¹ýʹÓÃÖ§³ÖXA¡¡¡¡µÄÊý¾Ý¿â·þÎñ¡¡

À´×öµ½£¬»òÕßJMS¡¡ÌṩÉÌ¿ÉÒÔÑ¡Ôñ´Ó»ù´¡¿ªÊ¼À´ÊµÏÖÕâ¸ö¹¦ÄÜ¡£¡¡¡¡

¡¡¡¡¡¡¡¡½«XASession¡¡µÄSession¡¡¸³¸øÓ¦Ó÷þÎñÆ÷µÄ¿Í»§¶Ë¡£Ö®ºó£¬Ó¦Ó÷þÎñÆ÷¿ØÖƺǫ́XASession¡¡

µÄÊÂÎñ¹ÜÀí¡£¡¡¡¡

¡¡¡¡¡¡¡¡µ«±ØÐë×¢ÒâµÄÊÇ£¬·Ö²¼Ê½ÊÂÎñÉÏÏÂÎIJ»»áËæ×ÅÏûÏ¢Á÷¶¯£»Ò²¾ÍÊÇ˵£¬½ÓÊÕÏûÏ¢µÄÊÂÎñºÍ¡¡

ºÍÉú²úÏûÏ¢µÄÊÂÎñ²»ÄÜÊÇͬһ¸ö¡£ÕâÊÇÒì²½ÏûÏ¢ºÍͬ²½´¦Àí¼äµÄ»ù±¾²î±ð¡£ÏûÏ¢Éú²úÕߺÍÏû¡¡

·ÑÕßʹÓÃÁ½ÖÖ·½Ê½À´½¨Á¢JMS¡¡ÌṩÉ̱£Ö¤Ò»´ÎÖ»ÓÐÒ»¸öÏûÏ¢±»×ª·¢µÄÄÜÁ¦¡£¡¡¡¡

¡¡¡¡¡¡¡¡ÔÙ´ÎÖØÉ꣬ÔÚSession¡¡ÖÐÉú²úºÍ/»òÏû·ÑÏûÏ¢µÄÐÐΪ¶¼¿ÉÒÔÊÇÊÂÎñÐԵġ£ÔÚ²»Í¬»á»°¼äÉú¡¡

²úºÍÏû·ÑÒ»¸öÌض¨ÏûÏ¢µÄÐÐΪ²»ÄÜÊÇÊÂÎñÐԵġ£¡¡¡¡



8¡£6¡¡¡¡JMS¡¡Ó¦Ó÷þÎñÆ÷½Ó¿Ú¡¡¡¡



¡¡¡¡¡¡¡¡PTP¡¡ºÍPub/Sub¡¡Á½¸öÓò¶¼ÌṩÁËËüÃÇ×Ô¼ºµÄJTS¡¡¸ÐÖªµÄJMS¡¡¹¤¾ß¡£¡¡¡¡

¡¡¡¡¡¡¡¡µ«ÊÇ£¬Ó¦µ±ÓÅÏÈʹÓù«¹²½Ó¿Ú¡£±í8©1¡¡ÁгöÁËJMS¡¡µÄ¹«¹²½Ó¿Ú¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡±í8©1¡¡ÓòÄÚ¿ÉÑ¡½Ó¿ÚµÄ¹Øϵ¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡JMS¡¡¹«¹²½Ó¿Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PTP¡¡½Ó¿Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Pub/Sub¡¡½Ó¿Ú¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ServerSessionPool¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã»ÓÐÓòÌض¨µÄ½Ó¿Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã»ÓÐÓòÌض¨µÄ½Ó¿Ú¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡ServerSession¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã»ÓÐÓòÌض¨µÄ½Ó¿Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã»ÓÐÓòÌض¨µÄ½Ó¿Ú¡¡¡¡



¡¡¡¡¡¡¡¡ConnectionConsumer¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã»ÓÐÓòÌض¨µÄ½Ó¿Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã»ÓÐÓòÌض¨µÄ½Ó¿Ú¡¡¡¡



¡¡¡¡¡¡¡¡XAConnectionFactory¡¡¡¡¡¡¡¡XAQueueConnectionFactory¡¡¡¡XATopicConnectionFactory¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡54¡¡/¡¡66¡¡¡¡

¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡55¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡XAConnection¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡XAQueueConnection¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡XATopicConnection¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡XASession¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡XAQueueSession¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡XATopicSession¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



9¡¡¡¡JMS¡¡ÑùÀý´úÂë¡¡¡¡



¡¡¡¡¡¡¡¡¡¡±¾Õ¸ø³öÁËһЩչʾJMS¡¡¿Í»§¶ËÈçºÎʹÓÃJMS¡¡API¡¡µÄ´úÂëÑùÀý¡£Ò²½âÊÍÁËÈçºÎʹÓü¸¸ö¡¡

ÏûÏ¢ÀàÐÍ¡£ÕâЩÀý×ÓʹÓÃÁËÖ§³ÖͳһÏûϢģÐ͵ķ½·¨£ºÕâЩÀý×ÓʹÓõã¶Ôµã»ò·¢²¼/¶©ÔĽø¡¡

Ðй¤×÷¡£ÓÃJMS¡¡API¡¡½øÐй¤×÷ÊÇÍƼöµÄ·½Ê½¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ÔÚJMS¡¡¹æ·¶µÄÔçÆÚ°æ±¾ÖУ¬Ö»Ö§³ÖÏûÏ¢Óò£¨µã¶Ôµã»ò·¢²¼/¶©ÔÄ£©¸÷×ԵĽӿڣ¬ÇÒ¿Í»§¡¡

¶ËҪôʹÓõã¶ÔµãҪôʹÓ÷¢²¼/¶©ÔÄÀ´½øÐбà³Ì¡£ÏÖÔÚ£¬JMS¡¡¿Í»§¶Ë¿ÉÒÔʹÓÃJMS¡¡¹«¹²½Ó¡¡

¿Ú½øÐбà³Ì¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ÔÚÀý×ÓÖУ¬¿Í»§¶ËÓ¦Ó÷¢ËͺͽÓÊÕ¹ÉƱ±¨¼ÛÐÅÏ¢¡£¿Í»§¶ËÓ¦ÓôӹÉƱ±¨¼Û·þÎñÖнÓÊÕÏû¡¡

Ï¢¡£¹ÉƱ±¨¼Û·þÎñÔÚÕâ¸öÀý×ÓÖÐûÓÐÃèÊö¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ÎªÁ˼ò»¯Õâ¸öÀý×Ó£¬Ã»ÓжÔÒì³£½øÐд¦Àí¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡±¾ÕÂÃèÊöÁËΪ·¢ËͺͽÓÊÕÏûÏ¢¶ø´´½¨ÕýÈ·»·¾³µÄ²½Öè¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ÔÚÃèÊöÁË»ù±¾µÄ¹¦Äܺ󣬱¾ÕÂÃèÊöÈçºÎÖ´ÐÐһЩÆäËûµÄ¹«¹²¹¦ÄÜ£¬ÀýÈçʹÓÃÏûϢѡÔñÆ÷¡£¡¡¡¡



9¡£1¡¡¡¡×¼±¸·¢ËͺͽÓÊÕÏûÏ¢¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÏÂÃæÊǽ¨Á¢Á¬½ÓÈ»ºó×¼±¸·¢ËͺͽÓÊÕÏûÏ¢µÄ»ù±¾²½Öè¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡»ñµÃConnectionFactory¡¡ºÍDestination¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡´´½¨Connection¡¡ºÍSession¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡´´½¨MessageConsumer¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡´´½¨MessageProducer¡£¡¡¡¡



9¡£1¡£1¡¡»ñÈ¡ConnectionFactory¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÏûÏ¢Éú²úÕߺÍÏûÏ¢Ïû·ÑÕߣ¨·¢ËÍÕߺͽÓÊÕÕߣ©¶¼ÐèÒªµÃµ½ConnectionFactory£¬²¢Ê¹ÓÃËü¡¡

À´½¨Á¢Connection¡¡ºÍSession¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Í¨³££¬¹ÜÀíÔ±ÒѾ­ÎªJMS¡¡¿Í»§¶Ë´´½¨ºÍÅäÖúÃÁËConnectionFactory¡¡¡£¿Í»§¶Ë³ÌÐòͨ³£Ê¹¡¡

ÓÃJNDI¡¡API¡¡À´²éÕÒConnectionFactory¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡import¡¡javax¡£naming¡£*£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡import¡¡javax¡£jms¡£*£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ConnectionFactory¡¡connectionFactory£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Context¡¡messaging¡¡=¡¡new¡¡InitialContext£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡connectionFactory¡¡=¡¡£¨ConnectionFactory£©¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡messaging¡£lookup£¨¡¨ConnectionFactory¡¨£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡55¡¡/¡¡66¡¡¡¡

¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡56¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



9¡£1¡£2¡¡»ñÈ¡Destination¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¹ÜÀíÔ±ÒѾ­´´½¨ºÍÅäÖÃÁËÒ»¸öÃû×ÖΪ¡°StockQueue¡¡¡±µÄQueue£¬ËüÊǹÉƱ±¨¼ÛÏûÏ¢±»·¢¡¡

ËͺͽÓÊյĵط½¡£Í¬Ñù£¬¿ÉÒÔʹÓÃJNDI¡¡API¡¡À´²éÕÒÄ¿µÄµØ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Queue¡¡stockQueue£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡stockQueue¡¡=¡¡£¨Queue£©messaging¡£lookup£¨¡¨StockSource¡¨£©£»¡¡¡¡



9¡£1¡£3¡¡´´½¨Connection¡¡¡¡



¡¡¡¡¡¡¡¡¡¡Ôڵõ½ConnectionFactory¡¡Ö®ºó£¬¿Í»§¶Ë³ÌÐòʹÓÃËüÀ´´´½¨Connection¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Connection¡¡connection£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡connection¡¡=¡¡ConnectionFactory¡£createConnection£¨£©£»¡¡¡¡



9¡£1¡£4¡¡´´½¨Session¡¡¡¡



¡¡¡¡¡¡¡¡¡¡Ôڵõ½¡¡Connection¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ö®ºó£¬¿Í»§¶Ë³ÌÐòʹÓÃËüÀ´´´½¨¡¡Session¡¡¡£Õâ¸ö¡¡Session¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÓÃÓÚ´´½¨¡¡

MessageProducer¡¡¡¡£¨·¢ËÍÏûÏ¢£©»òMessageConuser¡¡¡¡£¨½ÓÊÕÏûÏ¢£©¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Connection¡£createSession¡¡·½·¨ÓÐÁ½¸ö²ÎÊý£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡¡¡Ò»¸ö±íʾ»á»°ÊÇ·ñÊÇÊÂÎñÐԵIJ¼¶û¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡¡¡ÏûϢȷÈÏģʽ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡Session¡¡session£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡/*¡¡Session¡¡is¡¡not¡¡transacted£»¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡*¡¡¡¡¡¡uses¡¡AUTO_ACKNOWLEDGE¡¡for¡¡message¡¡¡¡

¡¡¡¡¡¡¡¡¡¡*¡¡¡¡acknowledgement¡¡¡¡

¡¡¡¡¡¡¡¡¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡session¡¡=¡¡connection¡£createSession£¨false£»¡¡Session¡£AUTO_ACKNOWLEDGE£©£»¡¡¡¡



9¡£1¡£5¡¡´´½¨MessageProducer¡¡¡¡



¡¡¡¡¡¡¡¡¡¡Ôڵõ½¡¡Session¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºó£¬¿Í»§¶Ë³ÌÐòʹÓá¡Session¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡À´´´½¨¡¡MessageProducer¡¡¡£Õâ¸ö¡¡

MessageProducer¡¡¶ÔÏóÓÃÓÚÏòÄ¿µÄµØ·¢ËÍÏûÏ¢¡£Í¨¹ýʹÓÃSession¡£createProducer¡¡·½·¨À´´´½¨¡¡

MessageProducer£¬²ÎÊýÊÇÏûÏ¢±»·¢Ë͵ÄÄ¿µÄµØ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡MessageProducer¡¡sender£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡/*¡¡Value¡¡in¡¡stockQueue¡¡previously¡¡looked¡¡up¡¡in¡¡the¡¡JNDI¡¡¡¡

¡¡¡¡¡¡¡¡¡¡*¡¡¡¡createProducer¡¡takes¡¡a¡¡Destination¡¡¡¡

¡¡¡¡¡¡¡¡¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡sender¡¡=¡¡session¡£createProducer£¨stockQueue£©£»¡¡¡¡



9¡£1¡£6¡¡´´½¨MessageConsumer¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÏûÏ¢¿ÉÒÔ±»Í¬²½»òÒì²½µÄÏû·Ñ¡£Õâ¸öÀý×ÓչʾÁËÈçºÎ´´½¨Í¬²½Ïû·ÑÏûÏ¢µÄÏûÏ¢Ïû·ÑÕß¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡56¡¡/¡¡66¡¡¡¡

¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡57¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



²Î¼û9¡£3¡£1¡¡¡¡¡°Òì²½½ÓÊÕÏûÏ¢¡±Á˽âÈçºÎÒì²½Ïû·ÑÏûÏ¢¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡MessageConsumer¡¡¡¡¡¡¡¡ÓÃÓÚ´ÓÄ¿µÄµØ½ÓÊÕÏûÏ¢£¬ÔÚÕâ¸öÀý×ÓÖÐÊÇ¡°StockQueue¡¡¡±¡£Óá¡

Session¡£createConsumer¡¡·½·¨À´´´½¨MessageConsumer£¬²ÎÊýÊǽÓÊÕÏûÏ¢µÄÄ¿µÄµØ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡MessageConsumer¡¡receiver£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡/*¡¡Value¡¡in¡¡stockQueue¡¡previously¡¡looked¡¡up¡¡in¡¡the¡¡JNDI¡¡¡¡

¡¡¡¡¡¡¡¡¡¡*¡¡¡¡createConsumer¡¡takes¡¡a¡¡Destination¡¡¡¡

¡¡¡¡¡¡¡¡¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡receiver¡¡=¡¡session¡£createConsumer£¨stockQueue£©£»¡¡¡¡



9¡£1¡£7¡¡Æô¶¯ÏûϢת·¢¡¡¡¡



¡¡¡¡¡¡¡¡¡¡µ½ÏÖÔÚΪֹ£¬ÏûÏ¢µÄת·¢»¹ÊDZ»½ûÖ¹µÄ£¬ÒÔ±ãÇ°ÃæµÄÉèÖò»»á±»Ò첽ת·¢µÄÏûÏ¢´ò¶Ï¡£¡¡

ÏÖÔÚÉèÖÃÒѾ­Íê³É£¬¿ÉÒÔ¸æËßConnection¡¡¿ªÊ¼ÏòMessageConsumer¡¡×ª·¢ÏûÏ¢ÁË¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡connection¡£start£¨£©£»¡¡¡¡



9¡£1¡£8¡¡Ê¹ÓÃTextMessage¡¡¡¡



¡¡¡¡¡¡¡¡¡¡Óм¸¸öÏûÏ¢¸ñʽ¡£ÔÚÕâ¸öÀý×ÓÖУ¬¹ÉƱ±¨¼ÛÏûÏ¢×÷ΪÎı¾´®±»·¢ËÍ¡£¿Í»§¶Ë°´Îı¾´®¶Á¡¡

È¡ºÍչʾÕâ¸öÏûÏ¢¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ÏÂÃæµÄ´úÂë½âÊÍÁËÈçºÎ´´½¨ÕâÑùµÄÏûÏ¢£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡String¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡stockData£»¡¡¡¡¡¡¡¡/*¡¡Stock¡¡information¡¡as¡¡a¡¡string¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡TextMessage¡¡¡¡¡¡message£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡/*¡¡Set¡¡the¡¡message¡¯s¡¡text¡¡to¡¡be¡¡the¡¡stockData¡¡string¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡message¡¡=¡¡session¡£createTextMessage£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡message¡£setText£¨stockData£©£»¡¡¡¡



9¡£2¡¡¡¡·¢ËͺͽÓÊÕÏûÏ¢¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÏÖÔÚÒѾ­Íê³ÉÁËSession¡¡µÄÉèÖã¬Äã¿ÉÒÔ·¢ËͺͽÓÊÕÏûÏ¢ÁË¡£±¾½ÚÃèÊöÁËÈçºÎ£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡´´½¨ÏûÏ¢¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡¡¡·¢ËÍÏûÏ¢¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡¡¡Í¬²½½ÓÊÕÏûÏ¢¡¡¡¡



9¡£2¡£1¡¡·¢ËÍÏûÏ¢¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÎªÁË·¢ËÍÏûÏ¢£¬Ê¹ÓÃMessageProducer¡£send¡¡·½·¨£¬²ÎÊýÊÇMessage¡¡¶ÔÏ󡣡¡¡¡

¡¡¡¡¡¡¡¡¡¡/*¡¡Send¡¡the¡¡message¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡sender¡£send£¨message£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡57¡¡/¡¡66¡¡¡¡

¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡58¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



9¡£2¡£2¡¡Í¬²½½ÓÊÕÏûÏ¢¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÎªÁ˽ÓÊÕQueue¡¡ÀïµÄÏûÏ¢£¬Äã¿ÉÒÔʹÓÃMessageConsumer¡£receive¡¡·½·¨¡£Õâ¸ö·½·¨µ÷Óá¡

ÔÚÏûÏ¢µ½´ïQueue¡¡Ö®Ç°¿ÉÄÜ×èÈû¡£Õâ¸ö·½·¨Ò²¿ÉÒÔÓÃÓÚ´ÓTopic¡¡¡¡ÖнÓÊÕÏûÏ¢¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡TextMessage¡¡stockMessage£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡stockMessage¡¡=¡¡£¨TextMessage£©receiver¡£receive£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ÎªÁËÏÞÖÆ¿Í»§¶Ë×èÈûµÄʱ¼ä³¤¶È£¬Ê¹Óá¡receive¡¡·½·¨µÄ³¬Ê±²ÎÊý¡£Èç¹ûÔÚ³¬Ê±µ½ÆÚʱ»¹¡¡

ûÓÐÏûÏ¢µ½´ï£¬ÄÇôreceive¡¡·½·¨·µ»Ø¡£³¬Ê±²ÎÊý°´ºÁÃë¼Æʱ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡TextMessage¡¡stockMessage£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡/*¡¡Wait¡¡4¡¡seconds¡¡for¡¡a¡¡message¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡TextMessage¡¡=¡¡£¨TextMessage£©receiver¡£receive£¨4000£©£»¡¡¡¡



9¡£2¡£3¡¡½â°üTextMessage¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¹ÉƱ±¨¼ÛÐÅϢʹÓá¡TextMessage¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·¢ËÍ¡£ÎªÁË´ÓÏûÏ¢Öеõ½Õâ¸öÐÅÏ¢£¬Ê¹Óá¡

TextMessage¡£getText¡¡·½·¨¡£ËüÒÔ×Ö·û´®·µ»ØÏûÏ¢µÄÄÚÈÝ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡String¡¡newStockData£»¡¡¡¡¡¡¡¡/*¡¡Stock¡¡information¡¡as¡¡a¡¡string¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡newStockData¡¡=¡¡message¡£getText£¨£©£»¡¡¡¡



9¡£3¡¡¡¡ÆäËûÏûÏ¢ÌØÐÔ¡¡¡¡



¡¡¡¡¡¡¡¡¡¡±¾½Ú²»½öÌṩÁË»ù±¾µÄÏûÏ¢¹¦ÄÜ£¬¶øÇÒ»¹ÃèÊöÁËÈçºÎÖ´ÐÐijЩÆäËûµÄ¹«¹²ÏûÏ¢¹¦ÄÜ£º¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡¡¡´´½¨Òì²½MessageListener¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡¡¡Ê¹ÓÃÏûϢѡÔñÆ÷¹ýÂËÏûϢת·¢¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡¡¡´´½¨Topic¡¡µÄÓÀ¾Ã¶©ÔÄ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡z¡¡¡¡¡¡¡¡¶ÔʹÓÃÓÀ¾Ã¶©ÔĵÄTopic¡¡½øÐÐÖØÐÂÁ¬½Ó¡£¡¡¡¡



9¡£3¡£1¡¡Òì²½½ÓÊÕÏûÏ¢¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÎªÁËÔÚÏûÏ¢±»×ª·¢µ½ÏûÏ¢Ïû·ÑÕßʱÒì²½µÄ½ÓÊÕÏûÏ¢£¬¿Í»§¶Ë³ÌÐòÐèÒª´´½¨ÊµÏÖÁË¡¡

MessageListener¡¡¡¡¡¡¡¡¡¡½Ó¿ÚµÄÏûÏ¢¼àÌýÆ÷¡£±¾ÀýÖС¡MessageListener¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½Ó¿ÚµÄʵÏÖ³ÆΪ¡¡

StockListener¡£java£¬ÀàËÆÓÚÏÂÃæµÄ´úÂ룺¡¡¡¡

¡¡¡¡¡¡¡¡¡¡import¡¡javax¡£jms¡£*£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡public¡¡class¡¡StockListener¡¡implements¡¡MessageListener¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡public¡¡void¡¡onMessage£¨Message¡¡message£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡/*¡¡Unpack¡¡and¡¡handle¡¡the¡¡messages¡¡received¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¿Í»§¶Ë³ÌÐò°´ÏÂÃæµÄ·½Ê½½«Õâ¸öMessageListener¡¡¶ÔÏó×¢²áµ½MessageConsumer¡¡¶ÔÏ󣺡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡58¡¡/¡¡66¡¡¡¡

¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡59¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡StockListener¡¡myListener¡¡=¡¡new¡¡StockListener£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡/*¡¡Receiver¡¡is¡¡MessageConsumer¡¡object¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡receiver¡£setMessageListener£¨myListener£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Connection¡¡¡¡±ØÐë±»Æô¶¯ÒÔÓ­½Ó¿ªÊ¼µÄÏûϢת·¢¡£µ±ÏûÏ¢±»·¢²¼µ½¡¡Queue¡¡¡¡Ê±»áÒì²½µÄͨ¡¡

ÖªMessageListener¡£Õâͨ¹ýMessageListener¡¡½Ó¿ÚµÄonMessage¡¡·½·¨ÊµÏÖ¡£ÓÉ¿Í»§¶Ë¸ºÔ𴦡¡

ÀíÏûÏ¢¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡public¡¡void¡¡onMessage£¨Message¡¡message£©¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡String¡¡newStockData£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡/*¡¡Unpack¡¡and¡¡handle¡¡the¡¡messages¡¡received¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡newStockData¡¡=¡¡message¡£getText£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡if£¨¡£¡£¡££©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡/*¡¡Logic¡¡related¡¡to¡¡the¡¡data¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡



9¡£3¡£2¡¡Ê¹ÓÃÏûϢѡÔñÆ÷¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ÔÚÕâ¸öÀý×ÓÖУ¬¿Í»§¶Ë³ÌÐòÖ»¶Ô¼¼ÊõÏà¹ØµÄ¹ÉƱ¸ÐÐËȤ¡£ÏûÏ¢µÄ·¢ËÍÕßÏòÏûÏ¢µÄÊôÐÔÖС¡

ÉèÖÃÒ»¸ö³ÆΪStockSector¡¡µÄÊôÐÔ¡£ËüµÄÖµ°üÀ¨¡°Technology¡¡¡±£¬¡°Financial¡±£¬¡°Manufacturing¡±£»¡¡

¡¡¡°Emerging¡±ºÍ¡°Global¡¡¡±¡£ÏûÏ¢·¢ËÍÕßͨ¹ýʹÓÃMessage¡£setStringProperty¡¡·½·¨À´ÉèÖÃÕâЩ¡¡

ÊôÐÔÖµ¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡String¡¡stockData£»¡¡¡¡¡¡¡¡/*¡¡Stock¡¡information¡¡as¡¡a¡¡String¡¡*/¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡TextMessage¡¡message£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡/*¡¡Set¡¡the¡¡message¡¯s¡¡text¡¡to¡¡be¡¡the¡¡stockData¡¡string¡¡*¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡message¡¡=¡¡session¡£createTextMessage£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡message¡£setText£¨stockData£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡/*¡¡Set¡¡the¡¡message¡¡property¡¡¡®StockSector¡¯¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡message¡£setStringProperty£¨¡¨StockSector¡¨£»¡¡¡¨Technology¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡µ±½ÓÊÕ¹ÉƱ±¨¼ÛÏûÏ¢¿Í»§¶Ë³ÌÐò¡¡MessageConsumer¡¡±»´´½¨Ê±£¬Ëü¿ÉÒÔ´´½¨Ò»¸öÏûϢѡ¡¡

ÔñÆ÷×Ö·û´®À´¾ö¶¨Ëü½«½ÓÊÕÄÄЩÏûÏ¢¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡String¡¡selector£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡selector¡¡=¡¡new¡¡String£¨¡¨£¨StockSector¡¡=¡¡¡®Technology¡¯£©¡¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡Õâ¸ö×Ö·û´®ÔÚ´´½¨MessageConsumer¡¡Ê±Ö¸¶¨¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡MessageConsumer¡¡receiver£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡receiver¡¡=¡¡session¡£createConsumer£¨stockQueue£»¡¡selector£©£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¿Í»§¶Ë³ÌÐòÖ»½ÓÊÕºÍTechnology¡¡Ïà¹ØµÄÏûÏ¢¡£¡¡¡¡



9¡£3¡£3¡¡Ê¹ÓÃÓÀ¾Ã¶©ÔÄ¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ÓÀ¾Ã¶©ÔÄÓÃÓÚ´ÓTopic¡¡½ÓÊÕÏûÏ¢¡£µ±JMS¡¡¡¡¿Í»§¶Ë´´½¨ÓÀ¾Ã¶©ÔÄʱ£¬¿Í»§¶ËÄܹ»´ÓTopic¡¡

¶Ï¿ªÁ¬½Ó¡£µ±¿Í»§¶Ë³ÌÐòÖØÐÂÁ¬½Óʱ£¬Ëü¿ÉÒÔÊÕµ½¶Ï¿ªÁ¬½Óºóµ½´ïµÄÏûÏ¢¡£ÔÚÕâ¸öÀý×ÓÖУ¬¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡59¡¡/¡¡66¡¡¡¡

¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡60¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



Destination¡¡Ìṩ¶ÔÏûÏ¢¸üеÄ֪ͨ¡£¡¡¡¡



9¡£3¡£3¡£1¡¡´´½¨ÓÀ¾Ã¶©ÔÄ¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÏÂÃæµÄÀý×Ó´´½¨ÁË´ÓTopic¡¡»ñÈ¡ÏûÏ¢µÄÓÀ¾Ã¶©ÔÄ¡£Ê×ÏÈ£¬¿Í»§¶Ë³ÌÐò±ØÐëÖ´Ðг£¹æµÄÉè¡¡

Öò½Ö裬²éÕÒConnectionFactory¡¡ºÍDestination£¬´´½¨Connection¡¡ºÍSession£¬Èç½Ú9¡£1¡¡¡°×¼±¸¡¡

·¢ËͺͽÓÊÕÏûÏ¢¡±ÖÐËùÊö¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡im
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨9£© ²È£¨9£©
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡