【仅供内部供应商使用,不提供对外解答和培训】

Page tree

【仅供内部供应商使用,不提供对外解答和培训】

Skip to end of metadata
Go to start of metadata

描述

运行报表时的数据集加载接口,目前用来实现数据集的并行取数。

在报表即将被计算时会调用createDataSourcePool方法,计算到相应格子时会通过getDataModel取数。

接口方法

/**
 * 用于打开模版或表单时加载数据集的接口
 * Created by loy on 2016/12/12.
 */
public interface DataSourcePoolProcessor extends Immutable {

    String MARK_STRING = "DataSourcePoolProcessor";

    /**
     * 创建并启动数据加载器,加载器实例保存在Calculator中
     * @param ca Calculator类的holder对象,可以通过 new ObjectHolder(calculator) 来创建
     * @param cellTableDataSet 模版中所用到的数据集名字
     */
    void createDataSourcePool(ObjectHolder ca, Set<String> cellTableDataSet);

    /**
     * 获取加载器加载的数据集
     * @param ca Calculator类的holder对象,可以通过new ObjectHolder(calculator)来创建
     * @param dsName 数据集名字
     * @return DataModel对象的holder,通过holder.get(DataModel.class)来获取DataModel
     */
    ObjectHolder getDataModel(ObjectHolder ca, String dsName);

}

注册方式

<extra-core>
    <DataSourcePoolProcessor class="com.fr.plugin.performance.datasourcepool.DataSourcePoolImpl"/>
</extra-core>
  • No labels