src/main/java/com/alipay/remoting/rpc/RpcClient.java
public Object invokeSync(final Url url, final Object request, final int timeoutMillis)
                                                                                          throws RemotingException,
                                                                                          InterruptedException {
        return this.invokeSync(url, request, null, timeoutMillis);
    }
public Object invokeSync(final Url url, final Object request, final int timeoutMillis)
                                                                                          throws RemotingException,
                                                                                          InterruptedException {
        return this.invokeSync(url, request, null, timeoutMillis);
    }
Synchronous invocation using a parsed {@link Url} <br>
<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 connection, if none then create one.</li>
<ul>
<li>You can use {@link Url#setConnectTimeout} to specify connection timeout, time unit is milliseconds.
<li>You can use {@link Url#setConnNum} to specify connection number for each ip and port.
<li>You can use {@link Url#setConnWarmup} to specify whether need warmup all connections for the first time you call this method.
</ul>
<li>You should use {@link #closeConnection(Url url)} to close it if you want.
</ol>

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