泛化调用中
```java
public interface GenericService {

    Object $invoke(String method, String[] parameterTypes, Object[] args) throws GenericException;

}
```
这里可不可以异步调用返回个Future。我的工具实现会有多个 `ReferenceConfig` 缓存，我可以单独再用一个线程池来作为 `$invoke` 的执行上下文。但每个 `ReferenceConfig` 好像都有一组线程来维持，这个本身能不能异步调用？
}
            }
        }
        Boolean c = check;
        if (c == null && consumer != null) {
            c = consumer.isCheck();
        }
        if (c == null) {
            c = true; // 
        }
        if (c && !invoker.isAvailable()) {
            // 
            initialized = false;
            throw new IllegalStateException("Failed to check the status of the service " + interfaceName + ". No provider available for the service " + (group == null ? "" : group + "/") + interfaceName + (version == null ? "" : ":" + version) + " from the url " + invoker.getUrl() + " to the consumer " + NetUtils.getLocalHost() + " use dubbo version " + Version.getVersion());
        }
        if (logger.isInfoEnabled()) {
            logger.info("Refer dubbo service " + interfaceClass.getName() + " from url " + invoker.getUrl());
        }
        /**
         * @since 2.7.0
         * ServiceData Store
         */
        MetadataReportService metadataReportService = null;
        if ((metadataReportService = getMetadataReportService()) != null) {
            URL consumerURL = new URL(Constants.CONSUMER_PROTOCOL, map.remove(Constants.REGISTER_IP_KEY), 0, map.get(Constants.INTERFACE_KEY), map);
            metadataReportService.publishConsumer(consumerURL);
        }
        // 
        return (T) proxyFactory.getProxy(invoker);
    }