private static BaseAsyncReqRow loadAsyncReq(String sideType, String sqlRootDir, RowTypeInfo rowTypeInfo, JoinInfo joinInfo,
                                                List<FieldInfo> outFieldInfoList, AbstractSideTableInfo sideTableInfo, String pluginLoadMode) throws Exception {
        String pathOfType = String.format(PATH_FORMAT, sideType);
        String pluginJarPath = PluginUtil.getJarFileDirPath(pathOfType, sqlRootDir, pluginLoadMode);
        String className = PluginUtil.getSqlSideClassName(sideType, "side", OPERATOR_TYPE);
        return ClassLoaderManager.newInstance(pluginJarPath, (cl) ->
                cl.loadClass(className).asSubclass(BaseAsyncReqRow.class)
                        .getConstructor(RowTypeInfo.class, JoinInfo.class, List.class, AbstractSideTableInfo.class)
                        .newInstance(rowTypeInfo, joinInfo, outFieldInfoList, sideTableInfo));
    }
fill data with lru cache
get data from  External data source with async operator
Date: 2018/9/18
Company: www.dtstack.com
@author xuchao
core/src/main/java/com/dtstack/flink/sql/side/operator/SideAsyncOperator.java