Merge remote-tracking branch 'origin/master'

master
王鑫 2024-09-09 14:29:31 +08:00
commit 7878f43fb1
6 changed files with 119 additions and 3 deletions

View File

@ -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();
}

View File

@ -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();
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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();
}
}

View File

@ -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();
}
}