测试线程池
parent
09d553c3d8
commit
c27ea00337
|
@ -0,0 +1,31 @@
|
|||
package com.muyu.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @PackageName:com.muyu.domain
|
||||
* @ClassName:NodeRule
|
||||
* @Description:
|
||||
* @author: ¥陈思豪¥
|
||||
* @date: 2024/9/8 19:32
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "node_rule")
|
||||
public class NodeRule {
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
private Long nodeId;
|
||||
private Long taskId;
|
||||
private Long ruleId;
|
||||
private String config;
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.muyu.domain.basic;
|
||||
|
||||
/**
|
||||
* @PackageName:com.muyu.domain.basic
|
||||
* @ClassName:BasicTask
|
||||
* @Description:
|
||||
* @author: ¥陈思豪¥
|
||||
* @date: 2024/9/8 19:15
|
||||
*/
|
||||
public interface BasicTask<T> {
|
||||
|
||||
void set(T dataValue);
|
||||
|
||||
<T> T get();
|
||||
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package com.muyu.domain.basic.abstracts;
|
||||
|
||||
import com.muyu.domain.basic.BasicTask;
|
||||
|
||||
/**
|
||||
* @PackageName:com.muyu.domain.basic.abstracts
|
||||
* @ClassName:DataTaskAbstracts
|
||||
* @Description:
|
||||
* @author: ¥陈思豪¥
|
||||
* @date: 2024/9/8 19:18
|
||||
*/
|
||||
public class DataTaskAbstracts implements BasicTask {
|
||||
@Override
|
||||
public void set(Object dataValue) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object get() {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.muyu.domain.basic.abstracts;
|
||||
|
||||
/**
|
||||
* @PackageName:com.muyu.domain.basic.abstracts
|
||||
* @ClassName:DataTaskAbstracts
|
||||
* @Description:
|
||||
* @author: ¥陈思豪¥
|
||||
* @date: 2024/9/8 19:18
|
||||
*/
|
||||
public class DataTaskHandler {
|
||||
|
||||
private static final ThreadLocal<Object> threadLocal = new ThreadLocal<>();
|
||||
|
||||
public static void set(final Object dataValue) {
|
||||
threadLocal.set(dataValue);
|
||||
}
|
||||
|
||||
public static <T> T get() {
|
||||
return (T) threadLocal.get();
|
||||
}
|
||||
|
||||
public static void remove(){
|
||||
threadLocal.remove();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.muyu.domain.basic.abstracts;
|
||||
|
||||
import com.muyu.domain.DataValue;
|
||||
|
||||
/**
|
||||
* @PackageName:com.muyu.domain.basic.abstracts
|
||||
* @ClassName:DataTaskAbstracts
|
||||
* @Description:
|
||||
* @author: ¥陈思豪¥
|
||||
* @date: 2024/9/8 19:18
|
||||
*/
|
||||
public class DataTaskHandlerRowHandler {
|
||||
|
||||
public DataTaskHandlerRowHandler() {
|
||||
}
|
||||
|
||||
public static void set(DataValue[] dataValue) {
|
||||
DataTaskHandler.set(dataValue);
|
||||
}
|
||||
|
||||
public static DataValue[] get() {
|
||||
return (DataValue[])DataTaskHandler.get();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.muyu.domain.basic.abstracts;
|
||||
|
||||
import com.muyu.domain.DataValue;
|
||||
|
||||
/**
|
||||
* @PackageName:com.muyu.domain.basic.abstracts
|
||||
* @ClassName:DataTaskAbstracts
|
||||
* @Description:
|
||||
* @author: ¥陈思豪¥
|
||||
* @date: 2024/9/8 19:18
|
||||
*/
|
||||
public class DataTaskValueHandler {
|
||||
|
||||
public DataTaskValueHandler() {
|
||||
}
|
||||
|
||||
public static void set(DataValue dataValue) {
|
||||
DataTaskHandler.set(dataValue);
|
||||
}
|
||||
|
||||
public static DataValue get() {
|
||||
return (DataValue)DataTaskHandler.get();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
package com.muyu.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.muyu.common.core.domain.Result;
|
||||
import com.muyu.domain.NodeRule;
|
||||
import com.muyu.service.NodeRuleService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import static java.nio.file.Files.delete;
|
||||
|
||||
/**
|
||||
* @PackageName:com.muyu.controller
|
||||
* @ClassName:NodeRuleController
|
||||
* @Description:
|
||||
* @author: ¥陈思豪¥
|
||||
* @date: 2024/9/8 19:35
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/nodeRule")
|
||||
public class NodeRuleController {
|
||||
|
||||
@Autowired
|
||||
private NodeRuleService nodeRuleService;
|
||||
|
||||
@RequestMapping(path = "/addNodeRule", method = RequestMethod.POST)
|
||||
@Operation(summary = "添加任务", description = "根据传来的数据进行任务添加")
|
||||
public Result<String> addTask(@RequestBody NodeRule nodeRule) {
|
||||
QueryWrapper<NodeRule> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("node_id", nodeRule.getNodeId());
|
||||
wrapper.eq("task_id", nodeRule.getId());
|
||||
nodeRuleService.remove(wrapper);
|
||||
boolean save = nodeRuleService.save(nodeRule);
|
||||
if(!save){
|
||||
throw new RuntimeException("失败");
|
||||
}
|
||||
return Result.success(null,"成功");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package com.muyu.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.muyu.domain.NodeRule;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface NodeRuleMapper extends BaseMapper<NodeRule> {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.muyu.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.muyu.domain.NodeRule;
|
||||
|
||||
public interface NodeRuleService extends IService<NodeRule> {
|
||||
}
|
|
@ -7,10 +7,7 @@ import com.muyu.common.core.utils.StringUtils;
|
|||
import com.muyu.domain.*;
|
||||
import com.muyu.domain.req.TaskInfoReq;
|
||||
import com.muyu.mapper.TaskMapper;
|
||||
import com.muyu.service.TaskInputService;
|
||||
import com.muyu.service.TaskJoinService;
|
||||
import com.muyu.service.TaskOutputService;
|
||||
import com.muyu.service.TaskService;
|
||||
import com.muyu.service.*;
|
||||
import com.muyu.task.feign.DataValueClient;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -19,6 +16,7 @@ import org.springframework.stereotype.Service;
|
|||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import static com.muyu.task.PriorityThreadPool.*;
|
||||
|
||||
|
@ -162,7 +160,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, TaskInfo> implement
|
|||
}
|
||||
}else{
|
||||
LambdaQueryWrapper<TaskInputInfo> selectOne = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(TaskInputInfo::getTaskId, taskId);
|
||||
selectOne.eq(TaskInputInfo::getTaskId, taskId);
|
||||
TaskInputInfo taskInputInfo = taskInputService.getOne(selectOne);
|
||||
leftJoin += taskInputInfo.getTableName() + " " + taskInputInfo.getTableAsName();
|
||||
}
|
||||
|
@ -263,6 +261,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, TaskInfo> implement
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// static class Worker implements Runnable {
|
||||
// private final PriorityBlockingQueue<SegmentTask> queue;
|
||||
//
|
||||
|
@ -344,4 +345,16 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, TaskInfo> implement
|
|||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private NodeRuleService nodeRuleService;
|
||||
|
||||
// @Autowired
|
||||
// private RuleFeign ruleFeign;
|
||||
|
||||
// public static Map<String, BasicEngine<DataValue>> engineMap = new ConcurrentHashMap<>();
|
||||
// public static Map<String, BasicEngine<DataValue[]>> engineRowMap = new ConcurrentHashMap<>();
|
||||
// public static Map<String, BasicEngine<DataValue[][]>> engineDataSetMap = new ConcurrentHashMap<>();
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue