package com.walker.store.task;
import com.walker.connector.AbstractConnector;
import com.walker.store.Storeable;
import java.util.List;
/**
* 抽象的采集任务定义。
* 注意:这里让connector对象缓存了,也就意味着一个采集任务只能对应一个远程地址了
* @author shikeying
* @date 2015年12月24日
*
*/
public abstract class GatherTask extends AbstractTask{
/* 注意:这里让connector对象缓存了,也就意味着一个采集任务只能对应一个远程地址了 */
protected AbstractConnector connector = null;
/* 采集源可参考的数据量,大致原始数据量,仅作参考 */
private int srcPreferenceSize = 0;
public GatherTask(Storeable store, String name){
super(store, name);
}
/**
* 采集任务定义中,执行任务的返回值表示:是否请求到远程响应数据,如果没有就返回null
*/
@Override
public Object run(String srcName, String createTableSQL, Object parameter
, Object[] params) throws Exception{
if(connector == null){
connector = getConnector();
}
if(connector == null){
throw new IllegalArgumentException("GatherTask参数错误:connector必须存在!");
}
// long startTime = System.currentTimeMillis();
List