src/main/java/com/alipay/remoting/rpc/RpcClient.java
public Object invokeSync(final String addr, final Object request, final int timeoutMillis)
                                                                                              throws RemotingException,
                                                                                              InterruptedException {
        return this.rpcRemoting.invokeSync(addr, request, null, timeoutMillis);
    }
public Object invokeSync(final String addr, final Object request, final int timeoutMillis)
                                                                                              throws RemotingException,
                                                                                              InterruptedException {
        return this.rpcRemoting.invokeSync(addr, request, null, timeoutMillis);
    }
public Object invokeSync ( final String addr , final Object request , final int timeoutMillis ) throws RemotingException , InterruptedException { return this . rpcRemoting . invokeSync ( addr , request , null , timeoutMillis ) ; }
Synchronous invocation using a string address, address format example - 127.0.0.1:12200?key1=value1&key2=value2 <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 string address to find a available connection, if none then create one.</li>
<ul>
<li>You can use {@link RpcConfigs#CONNECT_TIMEOUT_KEY} to specify connection timeout, time unit is milliseconds, e.g [127.0.0.1:12200?_CONNECTTIMEOUT=3000]
<li>You can use {@link RpcConfigs#CONNECTION_NUM_KEY} to specify connection number for each ip and port, e.g [127.0.0.1:12200?_CONNECTIONNUM=30]
<li>You can use {@link RpcConfigs#CONNECTION_WARMUP_KEY} to specify whether need warmup all connections for the first time you call this method, e.g [127.0.0.1:12200?_CONNECTIONWARMUP=false]
</ul>
<li>You should use {@link #closeConnection(String addr)} to close it if you want.
</ol>

@param addr
@param request
@param timeoutMillis
@return Object
@throws RemotingException
@throws InterruptedException
Synchronous invocation using a string address address format example - 127 . 0 . 0 . 1 : 12200?key1 = value1&key2 = value2 <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 string address to find a available connection if none then create one . < / li > <ul > <li > You can use { @link RpcConfigs#CONNECT_TIMEOUT_KEY } to specify connection timeout time unit is milliseconds e . g [ 127 . 0 . 0 . 1 : 12200?_CONNECTTIMEOUT = 3000 ] <li > You can use { @link RpcConfigs#CONNECTION_NUM_KEY } to specify connection number for each ip and port e . g [ 127 . 0 . 0 . 1 : 12200?_CONNECTIONNUM = 30 ] <li > You can use { @link RpcConfigs#CONNECTION_WARMUP_KEY } to specify whether need warmup all connections for the first time you call this method e . g [ 127 . 0 . 0 . 1 : 12200?_CONNECTIONWARMUP = false ] < / ul > <li > You should use { @link #closeConnection ( String addr ) } to close it if you want . < / ol >