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 {
|
|
@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);
|
}
|
|
/**
|
* 容器初始化后加载路由
|
*
|
* @param strings
|
*/
|
@Override
|
public void run(String... strings) {
|
}
|
}
|