tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Kolinko <knst.koli...@gmail.com>
Subject Re: svn commit: r1068989 - /tomcat/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java
Date Thu, 10 Feb 2011 10:36:25 GMT
2011/2/9  <fhanik@apache.org>:
> Author: fhanik
> Date: Wed Feb  9 17:39:24 2011
> New Revision: 1068989
>
> URL: http://svn.apache.org/viewvc?rev=1068989&view=rev
> Log:
> https://issues.apache.org/bugzilla/show_bug.cgi?id=50667
> Move the callback outside try/catch to avoid duplicate callbacks
>

I do not quite get it.

JavaDoc comment for ExtendedRpcCallback#replyFailed(..) says
 @return true if the callback would like to reattempt the reply, false otherwise

In this code returning true will result in falling through and just a
duplicate call to the handler, now reporting success:
excallback.replySucceeded(rmsg.message, reply, sender);

I do not see any "reattempt" here.

Best regards,
Konstantin Kolinko

> Modified:
>    tomcat/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java
>
> Modified: tomcat/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java
> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java?rev=1068989&r1=1068988&r2=1068989&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java (original)
> +++ tomcat/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java Wed Feb  9 17:39:24
2011
> @@ -158,9 +158,6 @@ public class RpcChannel implements Chann
>                         channel.send(new Member[] {sender}, rmsg,replyMessageOptions
& ~Channel.SEND_OPTIONS_SYNCHRONIZED_ACK);
>                     }
>                     finished = true;
> -                    if (excallback != null && !asyncReply) {
> -                        excallback.replySucceeded(rmsg.message, reply, sender);
> -                    }
>                 }catch ( Exception x )  {
>                     if (excallback != null && !asyncReply) {
>                         finished = !excallback.replyFailed(rmsg.message,
reply, sender, x);
> @@ -169,6 +166,9 @@ public class RpcChannel implements Chann
>                         log.error("Unable to send back reply in RpcChannel.",x);
>                     }
>                 }
> +                if (finished && excallback != null && !asyncReply)
{
> +                    excallback.replySucceeded(rmsg.message, reply, sender);
> +                }
>             }
>         }//end if
>     }
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message