feat(): 标准化设计
parent
d729df1f06
commit
1b559f5554
|
@ -0,0 +1,30 @@
|
||||||
|
package com.muyu.etl.basic;
|
||||||
|
|
||||||
|
import com.muyu.etl.domain.DataStructure;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: DongZeLiang
|
||||||
|
* @date: 2024/9/9
|
||||||
|
* @Description: 数据接入标准
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
public interface DataAccessBasic extends TaskBasic{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据值
|
||||||
|
* @return 返回查询的数据值
|
||||||
|
*/
|
||||||
|
public DataStructure getDataStructure();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据记录
|
||||||
|
* @return 数据记录
|
||||||
|
*/
|
||||||
|
public DataStructure[] getRow();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据集
|
||||||
|
* @return 数据集
|
||||||
|
*/
|
||||||
|
public DataStructure[][] getRows();
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.muyu.etl.basic;
|
||||||
|
|
||||||
|
import com.muyu.etl.scope.TaskScopeBasic;
|
||||||
|
import com.muyu.etl.scope.TaskScopeConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: DongZeLiang
|
||||||
|
* @date: 2024/9/9
|
||||||
|
* @Description: 任務基準
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
public interface TaskBasic {
|
||||||
|
|
||||||
|
public default TaskScopeConfig getScopeConfig(){
|
||||||
|
return TaskScopeBasic.get();
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
package com.muyu.domain;
|
package com.muyu.etl.domain;
|
||||||
|
|
||||||
import com.muyu.enums.DataType;
|
import com.muyu.etl.enums.DataType;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.muyu.enums;
|
package com.muyu.etl.enums;
|
||||||
|
|
||||||
import com.muyu.common.core.utils.StringUtils;
|
import com.muyu.common.core.utils.StringUtils;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.muyu.etl.scope;
|
||||||
|
|
||||||
|
|
||||||
|
import org.apache.poi.ss.formula.functions.T;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: DongZeLiang
|
||||||
|
* @date: 2024/9/9
|
||||||
|
* @Description: 作用域标准
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
public class TaskScopeBasic {
|
||||||
|
|
||||||
|
private static final ThreadLocal<TaskScopeConfig> localScope = new ThreadLocal<>();
|
||||||
|
|
||||||
|
public static void set(final TaskScopeConfig handler) {
|
||||||
|
localScope.set(handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TaskScopeConfig get() {
|
||||||
|
return localScope.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void remove(){
|
||||||
|
localScope.remove();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.muyu.etl.scope;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.concurrent.LinkedBlockingDeque;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: DongZeLiang
|
||||||
|
* @date: 2024/9/9
|
||||||
|
* @Description: 作用域存儲配置對象
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class TaskScopeConfig {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任務ID
|
||||||
|
*/
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
|
||||||
|
private LinkedBlockingDeque taskNodeQueue = new LinkedBlockingDeque();
|
||||||
|
|
||||||
|
public void addTaskNode(Object obj){
|
||||||
|
this.taskNodeQueue.add(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hashTaskNodeNext(){
|
||||||
|
return !taskNodeQueue.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
private <T> T nextTaskNode(){
|
||||||
|
return (T) taskNodeQueue.poll();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue