src/main/java/com/alipay/remoting/rpc/RpcServer.java
public RpcResponseFuture invokeWithFuture(final String addr, final Object request,
                                              final int timeoutMillis) throws RemotingException,
                                                                      InterruptedException {
        check();
        return this.rpcRemoting.invokeWithFuture(addr, request, null, timeoutMillis);
    }
public RpcResponseFuture invokeWithFuture(final String addr, final Object request,
                                              final int timeoutMillis) throws RemotingException,
                                                                      InterruptedException {
        check();
        return this.rpcRemoting.invokeWithFuture(addr, request, null, timeoutMillis);
    }
Future invocation using a string address, address format example - 127.0.0.1:12200?key1=value1&key2=value2 <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 string address to find a available client connection, if none then throw exception</li>
<li>Unlike rpc client, address arguments takes no effect here, for rpc server will not create connection.</li>
</ol>

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