src/main/java/com/alipay/remoting/rpc/RpcServer.java
public RpcResponseFuture invokeWithFuture(final Url url, final Object request,
                                              final int timeoutMillis) throws RemotingException,
                                                                      InterruptedException {
        check();
        return this.rpcRemoting.invokeWithFuture(url, request, null, timeoutMillis);
    }
public RpcResponseFuture invokeWithFuture(final Url url, final Object request,
                                              final int timeoutMillis) throws RemotingException,
                                                                      InterruptedException {
        check();
        return this.rpcRemoting.invokeWithFuture(url, request, null, timeoutMillis);
    }
Future invocation using a parsed {@link Url} <br>
You can get result use the returned {@link RpcResponseFuture}.
<p>
Notice:<br>
<ol>
<li><b>DO NOT modify the request object concurrently when this method is called.</b></li>
<li>When do invocation, use the parsed {@link Url} to find a available client connection, if none then throw exception</li>
</ol>

@param url
@param request
@param timeoutMillis
@return RpcResponseFuture
@throws RemotingException
@throws InterruptedException