From c844cdbe0216c416d99dee8dfad2290b2a414909 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期二, 10 十二月 2024 18:34:39 +0800
Subject: [PATCH] completionData

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java |   44 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 35 insertions(+), 9 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 10db3e6..07d569d 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,32 +1,58 @@
 package com.iailab;
 
+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 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;
+
+    @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);
-//            System.load(mdkInitPath + File.separator + "IAIL.MDK.Mid.Windows.dll");
-//            Environment env = new Environment();
-//            env.init();
+            InputStream in = ModelServiceApplication.class.getClassLoader().getResourceAsStream("iailmdk.properties");
+            properties.load(in);
+            String mdkInitPath = properties.getProperty("mdk-init-path");
+            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("动态链接库IAIL.MDK.Mid.Windows.dll初始化失败");
+            log.error("动态链接库IAIL.MDK.Mid.Windows.dll初始化失败");
         }
 
+        //加载项目已发布的dll和jar
+        try {
+            log.info("************开始加载项目已发布的dll和jar**************");
+            DllUtils.loadProjectPublish(mpkBakFilePath + File.separator + MdkConstant.PROJECT_PUBLISH);
+            log.info("************加载项目已发布的dll和jar结束**************");
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("加载项目已发布的dll和jar失败");
+        }
     }
 
 

--
Gitblit v1.9.3