- 目的:单纯为了每一份线程有自己单独的线程变量。
- 数据基础类
public abstract class DataDealBase <T> {
protected ThreadLocal<T> inputDto = new ThreadLocal<>();
/**
* 根据入参查询SSP线索信息,保存在全局变量中(自定义)
* @param inputDto
* @throws BzException
* @author YixinCapital -- wangdianxiang
* 2016年12月26日 下午7:12:47
*/
protected abstract void getData() throws BzException;
/**
* 转换信息
* eg:男(M)-> (01)
* @author YixinCapital -- wangdianxiang
* 2016年12月5日 下午3:23:49
*/
protected abstract void assembler() throws BzException;
/**
* 数据入库
* @author YixinCapital -- wangdianxiang
* 2016年12月5日 下午3:33:17
*/
protected abstract InvokeResult<String> download() throws BzException;
public InvokeResult<String> doIt(T inputDto){
this.inputDto.set(inputDto);
this.getData();
this.assembler();
return this.download();
}
}
@Service("...")
public class serviceAAA extends DataDealBase <String> {
@Override
protected void getData() throws BzException {...}
}
@Override
protected void assembler() throws BzException {...}
}
@Override
protected void download() throws BzException {...}
}
}
@Service("...")
.......
启动线程
...
serviceAAA.doIt();
...
网友评论