From 0a2b23ad3f30dfb01c5d590fb98f39e93bfe1932 Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期二, 31 十二月 2024 18:35:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 49 insertions(+), 2 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 e306c71..e080cbe 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,14 +1,61 @@ 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.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.cloud.openfeign.EnableFeignClients; +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 { + @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"); + 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(); + 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失败"); + } + } + public static void main(String[] args) { SpringApplication.run(ModelServiceApplication.class, args); -- Gitblit v1.9.3