JMS¼òÃ÷½Ì³Ì(PDF¸ñʽ)-µÚ14²¿·Ö
°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡Æ÷ʱ£¬±ØÐëÅ׳öÕâ¸öÒì³£¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡MessageEOFException£ºµ±ÕýÔÚ¶ÁÈ¡StreamMessage¡¡»òByteMessage¡¡Ê±µ½´ïÁ˲»ÆÚÍû¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄÁ÷½á⣬Ôò±ØÐëÅ׳öÕâ¸öÒì³£¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡MessageRormatException£ºµ±JMS¡¡¿Í»§¶ËÆóͼʹÓÃÏûÏ¢²»Ö§³ÖµÄÊý¾ÝÀàÐÍ»òÆóͼ½«¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏûÏ¢µÄÊý¾Ý¶Á×÷´íÎóµÄÀàÐÍʱ£¬±ØÐëÅ׳öÕâ¸öÒì³£¡£µ±ÏûÏ¢ÊôÐÔÖµ·¢ÉúͬÑùµÄÀàÐÍ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡´íÎóʱҲ±ØÐëÅ׳öÕâ¸öÒì³£¡£ÀýÈ磬Èç¹û¡¡StreamMessage¡£writeObject£¨£©±»¸øÁ˲»Ö§¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡³ÖµÄÀà»òÈç¹û¡¡StreamMessage¡£readShort£¨£©ÓÃÓÚ¶ÁÈ¡²¼¶ûÖµ£¬Ôò±ØÐëÅ׳öÕâ¸öÒì³£¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡Èç¹ûÌṩÉ̱»¸øÁ˲»ÄܽÓÊܵÄÀàÐÍ£¬ÔòÒ²±ØÐëÅ׳öÕâ¸öÒì³£¡£×¢Ò⣬һ¸öÌØÊâµÄÇé¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¿öÊǵ±Æóͼ¶ÁÈ¡²»ÕýÈ·¸ñʽµÄ¡¡String¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Êý¾Ý×÷ΪÊýÖµÐÍֵʱ£¬±ØÐëÅ׳ö¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡java¡£lang¡£NumberFormatException¡¡¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡MessageNotReadableException£ºµ±JMS¡¡¿Í»§¶ËÆóͼ¶ÁÒ»¸öÖ»¿ÉдµÄÏûϢʱ±ØÐëÅ׳ö¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡Õâ¸öÒì³£¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡MessageNotWriteableException£ºµ±JMS¡¡¡¡¿Í»§¶ËÆóͼдһ¸öÖ»¿É¶ÁµÄÏûϢʱ±ØÐëÅס¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡³öÕâ¸öÒì³£¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡ResourceAllocationException£ºµ±ÌṩÉ̲»Äܶ¨Î»·½·¨ÇëÇóµÄ×ÊԴʱ±ØÐëÅ׳öÕâ¸öÒì¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡³£¡£ÀýÈ磬µ±ÓÉÓÚJMS¡¡ÌṩÉÌ×ÊԴȱʧ¶øµ¼Öµ÷ÓÃcreateTopicConnection¡¡Ê§°ÜʱӦ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡µ±Å׳öÕâ¸öÒì³£¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡TransactionProgressException¡¡£ºµ±ÓÉÓÚÊÂÎñ´¦ÓÚ´¦ÀíÖжøµ¼Ö²Ù×÷ÎÞЧʱÅ׳öÕâ¸ö¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡Òì³£¡£ÀýÈ磬µ±»á»°Ê±·Ö²¼Ê½ÊÂÎñµÄÒ»²¿·Öʱµ÷Óá¡Session¡£mit£¨£©Ó¦µ±Å׳öÕâ¸ö¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡Òì³£¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡TransactionRolledBackException¡¡£ºµ±µ÷ÓÃSession¡£mit¡¡µ¼Öµ±Ç°ÊÂÎñ»Ø¹öʱ±ØÐëÅס¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡³öÕâ¸öÒì³£¡£¡¡¡¡
8¡¡¡¡JMS¡¡Ó¦Ó÷þÎñÆ÷¹¤¾ß¡¡¡¡
8¡£1¡¡¡¡¸ÅÊö¡¡¡¡
¡¡¡¡¡¡¡¡±¾ÕÂÃèÊöÓÃÓÚ²¢·¢´¦Àí¶©ÔÄÏûÏ¢µÄJMS¡¡¹¤¾ß¡£Ò²¶¨ÒåÁËJMS¡¡ÌṩÉÌÈçºÎÖ§³ÖJTS¡¡¿É¸ÐÖª¡¡
µÄ»á»°¡£ÕâЩ¹¤¾ßÖ÷ÒªÓÉJMS¡¡ÌṩÉÌʹÓᣡ¡¡¡
¡¡¡¡¡¡¡¡Èç¹ûJMS¡¡¿Í»§¶ËʹÓÃJTS¡¡¿É¸ÐÖª¹¤¾ßÀ´½øÐпͻ§¶Ë±à³Ì£¬ÔòËü¿ÉÄÜÊDz»¿ÉÒÆÖ²µÄ£¬ÒòΪ¡¡
²»ÒªÇóJMS¡¡ÌṩÉÌÖ§³ÖÕâЩ½Ó¿Ú¡£¡¡¡¡
¡¡¡¡¡¡¡¡ÔÚ±¾ÕÂÖÐÃèÊöµÄ¹¤¾ßÊÇJMS¡¡¡¡µÄÒ»¸öÌØÊâÀà±ð¡£ËüÃÇÊÇ¿ÉÑ¡µÄ£¬¿ÉÄÜÖ»Óв¿·ÖJMS¡¡Ìṩ¡¡
É̶ÔËüÃÇÌṩ֧³Ö¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡50¡¡/¡¡66¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡51¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
8¡£2¡¡¡¡²¢·¢´¦Àí¶©ÔĵÄÏûÏ¢¡¡¡¡
¡¡¡¡¡¡¡¡JMS¡¡ÌṩÁËÒ»¸öÌØÊâµÄ¹¤¾ßÓÃÓÚ´´½¨MessageConsumer£¬Ëü¿ÉÒÔ²¢·¢µÄÏû·ÑÏûÏ¢¡£¡¡¡¡
¡¡¡¡¡¡¡¡Õâ¸ö¹¤¾ß½«ÕâÏ×÷·Ö³ÉÈý¸ö½ÇÉ«£º¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡¡¡JMS¡¡ÌṩÉÌ¡ª¡ªÓÃÓÚת·¢ÏûÏ¢¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡¡¡Ó¦Ó÷þÎñÆ÷¡ª¡ªÓÃÓÚ´´½¨Ïû·ÑÕߺ͹ÜÀíÓɲ¢·¢MessageListener¡¡¶ÔÏóʹÓõÄÏ̡߳£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡¡¡Ó¦Ó᪡ªÓÃÄ¿µÄµØºÍ¿ÉÑ¡µÄÏûϢѡÔñÆ÷¶¨ÒåÒ»¸ö¶©ÔÄ£¬²¢Ìṩһ¸öµ¥Ï̵߳ġ¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MessageListener¡¡ÀàÀ´Ïû·ÑËüµÄÏûÏ¢¡£Ó¦Ó÷þÎñÆ÷½«¹¹ÔìÕâ¸öÀàµÄ¶à¸ö¶ÔÏóÀ´²¢·¢Ïû¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·ÑÏûÏ¢¡£¡¡¡¡
8¡£2¡£1¡¡Session¡¡¡¡
¡¡¡¡¡¡¡¡»á»°ÌṩÁËÓ¦Ó÷þÎñÆ÷ʹÓõÄÈý¸ö·½·¨£º¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡¡¡setMessageListener£¨£©¡¡ºÍ¡¡getMessageListener£¨£©¡¡¡ª¡ª»á»°µÄ¡¡MessageListener¡¡Í¨¹ý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ConnectionConsumer¡¡Ïû·Ñ·ÖÅäµ½Õâ¸ö»á»°µÄÏûÏ¢£¬ÈçºóÃæµÄ¼¸¸ö¶ÎÂäÃèÊö¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡¡¡run£¨£©¡ª¡ª»á»°µÄMessageListener¡¡ÒÀ´Î´¦ÀíÓÉConnectionConsumer¡¡·ÖÅäµ½»á»°µÄÏû¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ï¢¡£µ±¼àÌýÆ÷´Ó×îºóÒ»¸öÏûÏ¢´¦Àí·µ»Øʱ£¬run£¨£©·µ»Ø¡£¡¡¡¡
¡¡¡¡¡¡¡¡Ó¦Ó÷þÎñÆ÷ͨ³£±»¸øÒ»¸ö¡¡MessageListener¡¡À࣬Ëü°üº¬ÁËÓÉÓ¦ÓóÌÐòÔ±±àдµÄ´¦ÀíÏûÏ¢¡¡
µÄµ¥Ï̴߳úÂë¡£Ó¦Ó÷þÎñÆ÷Ò²±»¸ø¼àÌýÆ÷ÒªÏû·ÑÏûÏ¢µÄÄ¿µÄµØºÍÏûϢѡÔñÆ÷¡£¡¡¡¡
¡¡¡¡¡¡¡¡Ó¦Ó÷þÎñÆ÷½«¸ºÔð´´½¨´¦ÀíÏûÏ¢´¦ÀíµÄJMS¡¡Connection£¬ConnectionConsumer¡¡ºÍSession¡¡¡£¡¡
Ó¦Ó÷þÎñÆ÷½«°´Ðè´´½¨MessageListener¡¡ÊµÀý²¢½«ËüÃÇ×¢²áµ½Ëü×Ô¼ºµÄ»á»°ÖС£¡¡¡¡
¡¡¡¡¡¡¡¡ÓÉÓÚÐí¶à¼àÌýÆ÷ÐèҪʹÓûỰµÄ·þÎñ£¬Òò´Ë¼àÌýÆ÷ºÜ¿ÉÄÜÒªÇó½«ËüµÄ»á»°´«Èëµ½ËüµÄ¹¹¡¡
ÔìÆ÷ÖС£¡¡¡¡
8¡£2¡£2¡¡ServerSession¡¡¡¡
¡¡¡¡¡¡¡¡ServerSession¡¡ÊÇÒ»¸öÓÉÓ¦Ó÷þÎñÆ÷ʵÏֵĶÔÏó¡£Ó¦Ó÷þÎñÆ÷ʹÓÃËüÀ´½«Ò»¸öÏ̺߳ÍÒ»¸ö¡¡
JMS¡¡»á»°¹ØÁªÆðÀ´¡£¡¡¡¡
¡¡¡¡¡¡¡¡ServerSession¡¡ÊµÏÖÁËÁ½¸ö·½·¨£º¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡¡¡getSession£¨£©¡ª¡ª·µ»ØServerSession¡¡µÄJMS¡¡»á»°¡£¡¡¡¡
¡¡¡¡¡¡¡¡z¡¡¡¡¡¡start£¨£©¡ª¡ªÆô¶¯ServerSession¡¡Ï̵߳ÄÖ´ÐУ¬²¢Ö´ÐйØÁªµÄJMS¡¡»á»°µÄrun¡¡·½·¨¡£¡¡¡¡
8¡£2¡£3¡¡ServerSessionPool¡¡¡¡
¡¡¡¡¡¡¡¡ServerSessionPool¡¡ÊÇÒ»¸öÓÉÓ¦Ó÷þÎñÆ÷ʵÏֵĶÔÏó£¬ËüÌṩÁËÓÃÓÚ´¦Àí¡¡
ConnectionConsumer¡¡µÄÏûÏ¢µÄServerSession¡¡³Ø¡£¡¡¡¡
¡¡¡¡¡¡¡¡ËüÖ»ÓÐÒ»¸ö·½·¨ÊÇgetServerSession£¨£©¡¡¡£Õâ¸ö·½·¨´Ó³ØÖÐɾ³ýÒ»¸öServerSession¡¡²¢½«Ëü·µ¡¡
»Ø¸øµ÷ÓÃÕߣ¨¼Ù¶¨ÊÇConnectionConsumer¡¡£©£¬ÓÃÓÚÏû·ÑÒ»¸ö»ò¶à¸öÏûÏ¢¡£¡¡¡¡
¡¡¡¡¡¡¡¡JMS¡¡Ã»ÓÐ˵Ã÷ÈçºÎʵÏֳء£Ëü¿ÉÄÜÊÇÒ»¸ö¾²Ì¬µÄServerSession¡¡³Ø£¬»òÕßËü¿ÉÒÔʹÓøüר¡¡
ÒµµÄËã·¨À´°´Ð趯̬´´½¨ServerSession¡¡¡£¡¡¡¡
¡¡¡¡¡¡¡¡Èç¹ûServerSessionPool¡¡Ã»ÓÐÁËServerSession£¬ÄÇôgetServerSession£¨£©·½·¨¿ÉÄÜ×èÈû¡£Èç¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡51¡¡/¡¡66¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡52¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¹ûConnectionConsumer¡¡±»×èÈû£¬ÄÇôËü²»ÄÜת·¢ÐµÄÏûÏ¢Ö±µ½ServerSession¡¡·µ»Ø¡£¡¡¡¡
8¡£2¡£4¡¡ConnectionConsumer¡¡¡¡
¡¡¡¡¡¡¡¡¶ÔÓÚÓ¦Ó÷þÎñÆ÷À´Ëµ£¬Á¬½ÓÌṩÁË´´½¨¡¡ConnectionConsumer¡¡¡¡µÄרÓù¤¾ß¡£ËüÏû·ÑµÄÏû¡¡
Ï¢ÓÉÄ¿µÄµØºÍÏûϢѡÔñÆ÷Ö¸¶¨¡£ÁíÍ⣬ConnectionConsumer¡¡±ØÐë½»¸øServerSessionPool¡¡ÓÃÓÚ¡¡
´¦ÀíËüµÄÏûÏ¢¡£Ö¸¶¨¡¡maxMessages¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖµÓÃÓÚÏÞÖÆ¡¡ConnectionConsumer¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ò»´Î¿ÉÒÔ¼ÓÔص½¡¡
ServerSession¡¡»á»°µÄÏûÏ¢ÊýÁ¿¡£¡¡¡¡
¡¡¡¡¡¡¡¡Í¨³££¬µ±Óµ¶ÂÇá΢ʱ£¬ConnectionConsumer¡¡´Ó³ØÖеõ½Ò»¸öServerSession£¬ÓÃÒ»¸öÏûÏ¢¡¡
¼ÓÔØËüµÄ»á»°£¬È»ºóÆô¶¯Ëü¡£µ±Óµ¶ÂÑÏÖØʱ£¬ÏûÏ¢¿ÉÄܱ»Í˻ء£Èç¹û·¢ÉúÍ˻أ¬¡¡
ConnectionConsumer¡¡¿ÉÒÔÓöà¸öÏûÏ¢À´¼ÓÔØÿ¸ö¡¡Session¡¡¡£Õâ¼õÉÙÁËÏß³ÌÉÏÏÂÎĵÄÇл»£¬¼õ¡¡
СÁË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¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡