master
zhang chengzhi 2024-09-04 20:30:17 +08:00
parent b5aae30fe9
commit 500119608d
1 changed files with 3 additions and 12 deletions

View File

@ -3,20 +3,15 @@ package com.muyu.rule.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.enums.SystemYesNo;
import com.muyu.rule.common.domain.DataValue;
import com.muyu.rule.common.domain.RuleEngine;
import com.muyu.rule.common.domain.RuleEngineVersion;
import com.muyu.rule.common.utils.OssUtil;
import com.muyu.rule.server.EngineConfig;
import com.muyu.rule.server.basic.BasicEngine;
import com.muyu.rule.server.complie.SourceCodeComplier;
import com.muyu.rule.server.load.ExternalClassLoader;
import com.muyu.rule.server.load.JavaBinaryClassLoader;
import com.muyu.rule.server.mapper.RuleEngineVersionMapper;
import com.muyu.rule.server.scan.JavaCodeScan;
import com.muyu.rule.server.service.RuleEngineVersionService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
@ -25,13 +20,10 @@ import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
import java.io.*;
import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Base64;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@ -48,7 +40,7 @@ import static com.muyu.rule.server.constant.SuffixClass.Suffix_JAVA;
*/
@Log4j2
@Service
public class RuleEngineServiceImpl extends ServiceImpl<RuleEngineVersionMapper, RuleEngineVersion> implements RuleEngineVersionService {
public class RuleEngineVersionServiceImpl extends ServiceImpl<RuleEngineVersionMapper, RuleEngineVersion> implements RuleEngineVersionService {
@Override
public List<RuleEngineVersion> selectRuleEngineVersion(Long id) {
@ -147,9 +139,8 @@ public class RuleEngineServiceImpl extends ServiceImpl<RuleEngineVersionMapper,
String externalClassFilePath =
engineWorkClassPath +className+Suffix_CLASS;
Path classFilePath = Paths.get(externalClassFilePath);
String externalClassDir = externalClassFilePath.substring(0, externalClassFilePath.lastIndexOf('\\'));
URL[] urls = new URL[]{new File(externalClassDir).toURI().toURL()};
String externalClassDir = externalClassFilePath.substring(0, externalClassFilePath.lastIndexOf('/'));
URL[] urls = new URL[]{new File(externalClassDir).toURI().toURL()};
//创建自定义类加载器
ExternalClassLoader externalClassLoader = new ExternalClassLoader(urls);