| | |
| | | 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.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); |