axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bill Nagy <n...@watson.ibm.com>
Subject [Axis2] Can someone explain the "logic" in AxisEngine.TransportNonBlockingInvocationWorker?
Date Tue, 07 Nov 2006 21:40:08 GMT
In revision 415245, some code was added to the
AxisEngine.TransportNonBlockingInvocationWorker with the comment "-
minor modification" -- this code added a boolean, done, and a while loop
which tests that boolean.

    /**
     * This class is the workhorse for a non-blocking invocation that uses a two
     * way transport.
     */
    private class TransportNonBlockingInvocationWorker implements Runnable {
        private MessageContext msgctx;
        private TransportSender sender;
        private boolean done;

        public TransportNonBlockingInvocationWorker(MessageContext msgctx,
                                                    TransportSender sender) {
            this.msgctx = msgctx;
            this.sender = sender;
        }

        public void run() {
            try {
                while (!done) {
                    sender.invoke(msgctx);
                    done = true;
                }
            } catch (Exception e) {
                log.info(e.getMessage());
            }
        }
    }

The ThreadPool is the the only one that has a handle to the
TransportNonBlockingInvocationWorker instance, and he can't tell what
the outcome was so this addition is rather confusing.  Can someone
enlighten me as to its purpose since the commit message is utterly
useless and there are no other comments in the code?  (I'm trying to
fix an issue with a requester hanging because it's waiting for a
response that will never come because the transmission actually
failed [since the exception is just getting swallowed here], but
I don't want to screw up a dependency if something's trying to
deal with the exception.)  Thanks.

-Bill


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


Mime
View raw message