From 531d0af0567a257f28de27ea29fe7fa46e1a3ece Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期一, 09 六月 2025 14:11:43 +0800 Subject: [PATCH] mdkInitPath 移入 application-dev.yaml --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 10 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java index 133ad84..5a90383 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java @@ -1,33 +1,65 @@ package com.iailab; +import com.iailab.module.model.matlab.common.utils.MatlabUtils; +import com.iailab.module.model.mpk.common.MdkConstant; +import com.iailab.module.model.mpk.common.utils.DllUtils; +import iail.mdk.model.common.Environment; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import com.iail.IAILMDK; +import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableAsync; +import javax.annotation.PostConstruct; +import java.io.File; import java.io.InputStream; import java.util.Properties; @EnableAsync @SpringBootApplication +@Slf4j public class ModelServiceApplication implements CommandLineRunner { - /*static { + @Value("${mpk.bak-file-path}") + private String mpkBakFilePath; + @Value("${mpk.mdk-init-path}") + private String mdkInitPath; + @Value("${matlab.bak-file-path}") + private String matlabBakFilePath; + + @PostConstruct + void init() { //加载动态链接库 try { - Properties properties = new Properties(); - InputStream in = ModelServiceApplication.class.getClassLoader().getResourceAsStream("iailmdk.properties"); - properties.load(in); - String mdkInitPath = properties.getProperty("mdk-init-path"); - System.out.println("mdkInitPath=" + mdkInitPath); - IAILMDK.initWithBean(mdkInitPath, false); + log.info("mdkInitPath=" + mdkInitPath); + File file = new File(mdkInitPath + File.separator + "IAIL.MDK.Mid.Windows.dll"); + if (!file.exists()) { + throw new RuntimeException("动态链接库IAIL.MDK.Mid.Windows.dll文件不存在," + file.getAbsolutePath()); + } + System.load(file.getAbsolutePath()); + Environment env = new Environment(); + env.init(); } catch (Exception e) { e.printStackTrace(); - System.out.println("动态链接库IAILMDK初始化失败"); + log.error("动态链接库IAIL.MDK.Mid.Windows.dll初始化失败"); + } + + //加载项目已发布的dll和jar + try { + log.info("************MDK-开始加载项目已发布的dll和jar**************"); + DllUtils.loadProjectPublish(mpkBakFilePath + File.separator + MdkConstant.PROJECT_PUBLISH); + log.info("************MDK-加载项目已发布的dll和jar结束**************"); + log.info("************MATLAB-开始加载项目已发布的jar**************"); + MatlabUtils.loadProjectPublish(matlabBakFilePath + File.separator + MdkConstant.PROJECT_PUBLISH); + log.info("************MATLAB-加载项目已发布的jar结束**************"); + } catch (Exception e) { + e.printStackTrace(); + log.error("加载项目已发布的dll和jar失败"); } } -*/ + public static void main(String[] args) { SpringApplication.run(ModelServiceApplication.class, args); -- Gitblit v1.9.3