src/main/java/com/alipay/remoting/rpc/RpcServer.java
public void invokeWithCallback(final String addr, final Object request,
                                   final InvokeCallback invokeCallback, final int timeoutMillis)
                                                                                                throws RemotingException,
                                                                                                InterruptedException {
        check();
        this.rpcRemoting.invokeWithCallback(addr, request, null, invokeCallback, timeoutMillis);
    }
public void invokeWithCallback(final String addr, final Object request,
                                   final InvokeCallback invokeCallback, final int timeoutMillis)
                                                                                                throws RemotingException,
                                                                                                InterruptedException {
        check();
        this.rpcRemoting.invokeWithCallback(addr, request, null, invokeCallback, timeoutMillis);
    }
Callback invocation using a string address, address format example - 127.0.0.1:12200?key1=value1&key2=value2 <br>
You can specify an implementation of {@link InvokeCallback} to get the result.
<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 invokeCallback
@param timeoutMillis
@throws RemotingException
@throws InterruptedException