src/main/java/com/alipay/remoting/DefaultConnectionManager.java
@Override
    public void createConnectionAndHealIfNeed(Url url) throws InterruptedException,
                                                      RemotingException {
        // get and create a connection pool with initialized connections.
        ConnectionPool pool = this.getConnectionPoolAndCreateIfAbsent(url.getUniqueKey(),
            new ConnectionPoolCall(url));
        if (null != pool) {
            healIfNeed(pool, url);
        } else {
            logger.error("[NOTIFYME] bug detected! pool here must not be null!");
        }
    }
@Override
    public void createConnectionAndHealIfNeed(Url url) throws InterruptedException,
                                                      RemotingException {
        // get and create a connection pool with initialized connections.
        ConnectionPool pool = this.getConnectionPoolAndCreateIfAbsent(url.getUniqueKey(),
            new ConnectionPoolCall(url));
        if (null != pool) {
            healIfNeed(pool, url);
        } else {
            logger.error("[NOTIFYME] bug detected! pool here must not be null!");
        }
    }
@ Override public void createConnectionAndHealIfNeed ( Url url ) throws InterruptedException , RemotingException { // get and create a connection pool with initialized connections. ConnectionPool pool = this . getConnectionPoolAndCreateIfAbsent ( url . getUniqueKey ( ) , new ConnectionPoolCall ( url ) ) ; if ( null != pool ) { healIfNeed ( pool , url ) ; } else { logger . error ( "[NOTIFYME] bug detected! pool here must not be null!" ) ; } }
If no task cached, create one and initialize the connections.
If task cached, check whether the number of connections adequate, if not then heal it.

@param url
@return
@throws InterruptedException
@throws RemotingException
If no task cached create one and initialize the connections . If task cached check whether the number of connections adequate if not then heal it .