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.Builder;
|
||||
import lombok.Data;
|
|
@ -1,4 +1,4 @@
|
|||
package com.muyu.enums;
|
||||
package com.muyu.etl.enums;
|
||||
|
||||
import com.muyu.common.core.utils.StringUtils;
|
||||
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