From d49848af10b3c57860898bc515323711c0391386 Mon Sep 17 00:00:00 2001 From: zhang chengzhi <3144712872@qq.com> Date: Tue, 10 Sep 2024 16:08:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=89=88=E6=9C=AC=E5=88=A0?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RuleEngineVersionController.java | 13 +++++-------- .../service/RuleEngineVersionService.java | 6 ++++-- .../impl/RuleEngineVersionServiceImpl.java | 17 ++++++++++------- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/cloud-rule-server/src/main/java/com/muyu/rule/server/controller/RuleEngineVersionController.java b/cloud-rule-server/src/main/java/com/muyu/rule/server/controller/RuleEngineVersionController.java index 54c77c1..316a0fc 100644 --- a/cloud-rule-server/src/main/java/com/muyu/rule/server/controller/RuleEngineVersionController.java +++ b/cloud-rule-server/src/main/java/com/muyu/rule/server/controller/RuleEngineVersionController.java @@ -82,11 +82,11 @@ public class RuleEngineVersionController { @Operation(summary = "增加规则引擎版本",description = "通过传入版本添加的实体类,进行规则引擎的版本添加") public Result insertVersion(@Validated @RequestBody VersionAddReq versionAddReq){ - boolean save = versionService.save(RuleEngineVersion.addBuild(versionAddReq)); - if (true==save){ - //添加成功则把增加的代码进行java编译,进行热加载 - versionService.complierClass(versionAddReq.getClassName(),versionAddReq.getVersionClazz()); - } + //代码进行java编译,进行热加载 + boolean b = versionService.complierClass(versionAddReq.getClassName(), versionAddReq.getVersionClazz()); +if (true==b){ + boolean save = versionService.save(RuleEngineVersion.addBuild(versionAddReq)); +} return Result.success(); } @@ -238,9 +238,6 @@ Object o= versionService.readByOss(className); return Result.success(o); } - - - /** * 通过id查询对应的版本 * @param id diff --git a/cloud-rule-server/src/main/java/com/muyu/rule/server/service/RuleEngineVersionService.java b/cloud-rule-server/src/main/java/com/muyu/rule/server/service/RuleEngineVersionService.java index 0413c48..0038fb6 100644 --- a/cloud-rule-server/src/main/java/com/muyu/rule/server/service/RuleEngineVersionService.java +++ b/cloud-rule-server/src/main/java/com/muyu/rule/server/service/RuleEngineVersionService.java @@ -57,10 +57,12 @@ public interface RuleEngineVersionService extends IService { /** * 对java源代码进行编译 - * @param className 类名 + * + * @param className 类名 * @param versionClazz 源代码 + * @return */ - void complierClass(String className, String versionClazz); + boolean complierClass(String className, String versionClazz); /** diff --git a/cloud-rule-server/src/main/java/com/muyu/rule/server/service/impl/RuleEngineVersionServiceImpl.java b/cloud-rule-server/src/main/java/com/muyu/rule/server/service/impl/RuleEngineVersionServiceImpl.java index a3b7c34..806840d 100644 --- a/cloud-rule-server/src/main/java/com/muyu/rule/server/service/impl/RuleEngineVersionServiceImpl.java +++ b/cloud-rule-server/src/main/java/com/muyu/rule/server/service/impl/RuleEngineVersionServiceImpl.java @@ -11,7 +11,6 @@ import com.muyu.rule.common.domain.DataValueFie; import com.muyu.rule.common.domain.DataValueRow; import com.muyu.rule.common.domain.DataValueRows; import com.muyu.rule.common.domain.RuleEngineVersion; -import com.muyu.rule.common.load.ExternalClassLoader; import com.muyu.rule.common.utils.OssUtil; import com.muyu.rule.server.mapper.RuleEngineVersionMapper; import com.muyu.rule.server.service.RuleEngineVersionService; @@ -21,10 +20,6 @@ import org.springframework.stereotype.Service; import javax.tools.JavaCompiler; import javax.tools.ToolProvider; import java.io.*; -import java.lang.reflect.InvocationTargetException; -import java.net.URL; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.List; @@ -133,11 +128,16 @@ public class RuleEngineVersionServiceImpl extends ServiceImpl" + versionClazz); versionClazz = versionClazz.replace("<", "<").replace(">", ">"); @@ -169,11 +169,14 @@ public class RuleEngineVersionServiceImpl extends ServiceImpl