¿ìËÙÒµÎñͨµÀ

¹ØÓÚJMS Message PendingµÄÎÊÌâ - ±à³ÌÈëÃÅÍø

×÷Õß ØýÃû¼¼Êõ À´Ô´ NET±à³Ì ä¯ÀÀ ·¢²¼Ê±¼ä 2012-06-14
t.dispatchAsync(Request.java:1046) ¡¡¡¡ ¡¡¡¡¡¡¡¡¡¡ at weblogic.jms.dispatcher.Request.dispatchAsync(Request.java:72) ¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡ at weblogic.jms.frontend.FEConsumer.receive(FEConsumer.java:557) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ at weblogic.jms.frontend.FEConsumer.invoke(FEConsumer.java:806) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:7 59) ¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡ at weblogic.messaging.dispatcher.DispatcherServerRef.invoke(DispatcherServerRef.j ava:276) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServ erRef.java:141) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerR ef.java:36) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ at weblogic.messaging.dispatcher.DispatcherServerRef$2.run (DispatcherServerRef.ja va:112) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ at weblogic.work.ExecuteThread.execute (ExecuteThread.java:209) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ at weblogic.work.ExecuteThread.run (ExecuteThread.java:181)

ÏÖÔÚÎÒÃÇ¿´Ò»ÏÂWeblogic JMSµÄreceiveµÄ»ù±¾Á÷³Ì£¬¿´¿´Õâ¸öexceptionΪʲô»á±»Å׳öÀ´¡£

JMSConsumer.receive(long timewait)£¬¿Í»§¶Ë·¢ÆðreceiveÇëÇó£¬ÆäÖÐtimewait¿ÉÓпÉÎÞ£¬²»×öÖ¸¶¨ µÄ»°£¬ËµÃ÷ûÓпÉÓÃÏûÏ¢µ½´ïµÄ»°£¬ÎÒÃÇ»áÒ»Ö±µÈÏÂÈ¥¡£ÈçÒª²»×÷µÈ´ýµÄ»°£¬¿ÉÒÔʹÓÃreceiveNoWait() ¡£receive()Öлá¼ì²étimeoutÖµ£¬Èç¹ûûÓÐÖ¸¶¨timeout£¬ÄÇôLong.maxValue»á±»É趨³ÉÕâ¸ötimeout£¬ Èç¹ûtimeoutСÓÚ£°£¬¿Í»§¶Ë½«»áÊÕµ½Invalid TimeoutÒì³££¬½ÓÏÂÀ´ÇëÇó»á±»delegateµ½JMSSession¡£

|

JMSSession.receiveMessage(consumer,timeout)£¬ÕâÀïtimeout»á±»ÖØмÆË㣬ȻºóÎÒÃǻᴴ½¨Ò»¸ö FEConsumerReceiveRequest¶ÔÏó¡£Õâ¸ö¶ÔÏóÖаüº¬¼ÆËãºóµÄtimeout£¬¼ÆËãºóµÄtimeoutÓ¦¸ÃÊǸö·Ç¸ºÖµ( ÉÏÃæµÄÒì³£¾ÍÊÇÕâÀïµÄ¼ÆËãµ¼Öµģ¬ÖÁÓÚΪʲô¿Í»§Ö¸¶¨µÄtimeoutΪ£±£¬¼ÆËãºóµÄtimeout±ä³ÉÁ˸ºÊý£¬ ´Ó¶øµ¼ÖÂÉÏÃæµÄÒì³££¬´Ó´úÂë²ãÃ棬¿´²»³öÓÐʲôÎÊÌâ)¡£FEConsumerReceiveRequest¶ÔÏó´´½¨ºó£¬ÓÉJMS FrontEnd Dispatcher¸ºÔð°ÑÇëÇ󽻸øºó¶ËµÄJMS Server£¬DispatcherÊÇWeblogic JMSÖÐÓÃÓÚ¸ºÔðÇëÇó´« ÊäµÄ£¬ËüÒÀÀµÓÚRJVM layer£¬ÕâÀï²»×ö׸Êö¡£

|

RJVM layer, ¸ºÔðRMI socket²ãµÄÊý¾Ý·¢ËÍ

|

¹ØÓÚJMS Message PendingµÄÎÊÌâ(3)

ʱ¼ä:2011-10-02 blogjava fjin

FEConsumer.receive(invocableRequest)£¬RJVM²ã´¦ÀíÍêsocketÊý¾Ýºó£¬ÇëÇó»á±»×ª¸øJMSConsumer£¬ JMSConsumerͨ¹ý״̬»ú(state machine)À´¿ØÖÆÇëÇó´¦Àí£¬Ã»Óйý¶àµÄÂß¼­£¬Ëü»á»ùÓÚÊÕµ½µÄreceive request´´½¨Ò»¸öBEConsumerReceiveRequest¶ÔÏó£¬È»ºó°ÑÕâ¸öÇëÇóͨ¹ýJMS BackEnd Dispatcherת·¢¸ø BEConsumerImpl¡£Ö®ËùÒÔ´æÔÚFrontEnd £¯BackEnd Dispatcher£¬Ö÷Òª¿¼Âǵ½´¦ÀíÇëÇóµÄserverºÍqueueËù ÔڵIJ»ÊÇͬһserver¡£

|

BEConsumerImpl.receive(request)£¬request½øÈëBEConsumerImplºó£¬ËüҲͨ¹ýstate machineÀ´¿ØÖÆ ÇëÇó´¦Àí£¬ÏÂÃæÁ½¸ö·½·¨ÔÚµ÷Óùý³ÌÖб»Ë³Ðòµ÷Óã¬

BEConsumerImpl.blockingReceiveStart(request)£¬ÕâÀïÊ×Ïȼì²étimeoutÖµ£¬È»ºóµ÷Óà QueueImpl.receive(...)´ÓqueueÖлñÈ¡message£¬receive()µÄ¾ßÌå²ÎÊýÈçÏ£¬°üÀ¨timeout, expression(¼´¼ì²éÌõ¼þ£¬ÎÒÃǶ¨ÒåµÄmessage selector¾ÍÔÚÆäÖÐ)¡£

BEConsumerImpl.blockingReceiveProcessMessage(request)

BEConsumerImpl.blockingReceiveComplete(request)

|

QueueImpl.receive(expression,count,acknowledge,owner,timeout,started,userBlob)£¬ÕâÀï³ýÁË ×´Ì¬¼ì²é£¬Ã»ÓÐÆäËûÂß¼­

ÁèÖڿƼ¼×¨ÒµÌṩ·þÎñÆ÷×âÓᢷþÎñÆ÷Íйܡ¢ÆóÒµÓʾ֡¢ÐéÄâÖ÷»úµÈ·þÎñ£¬¹«Ë¾ÍøÕ¾£ºhttp://www.lingzhong.cn ΪÁ˸ø¹ã´ó¿Í»§Á˽â¸ü¶àµÄ¼¼ÊõÐÅÏ¢£¬±¾¼¼ÊõÎÄÕÂÊÕ¼¯À´Ô´ÓÚÍøÂç,ÁèÖڿƼ¼×ðÖØÎÄÕÂ×÷ÕߵİæȨ£¬Èç¹ûÓÐÉæ¼°ÄãµÄ°æȨÓбØҪɾ³ýÄãµÄÎÄÕ£¬ÇëºÍÎÒÃÇÁªÏµ¡£ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúҪתÔر¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!

·ÖÏíµ½£º ¸ü¶à
Äã¿ÉÄܶÔÏÂÃæµÄÎÄÕ¸ÐÐËȤ

Copyright ©1999-2011 ÏÃÃÅÁèÖڿƼ¼ÓÐÏÞ¹«Ë¾ ÏÃÃÅÓÅͨ»¥Áª¿Æ¼¼¿ª·¢ÓÐÏÞ¹«Ë¾ All rights reserved

µØÖ·(ADD)£ºÏÃÃÅÈí¼þÔ°¶þÆÚÍûº£Â·63ºÅ701E£¨¶«ÄÏÈÚͨÅÔ£© Óʱà(ZIP)£º361008

µç»°£º0592-5908028 ´«Õ棺0592-5908039 ×ÉѯÐÅÏ䣺web@lingzhong.cn ×ÉѯOICQ£º173723134

¡¶ÖлªÈËÃñ¹²ºÍ¹úÔöÖµµçÐÅÒµÎñ¾­ÓªÐí¿ÉÖ¤¡·ÃöB2-20100024  ICP±¸°¸:ÃöICP±¸05037997ºÅ