App.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.zsjz.ai;
  2. import cn.hutool.core.io.FileUtil;
  3. import com.qingjian.common.constants.PathConst;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.noear.solon.Solon;
  6. import org.noear.solon.annotation.SolonMain;
  7. import org.noear.solon.scheduling.annotation.EnableScheduling;
  8. import org.noear.solon.web.cors.CrossFilter;
  9. import java.nio.file.Files;
  10. @EnableScheduling
  11. @SolonMain
  12. @Slf4j
  13. public class App {
  14. static void main(String[] args) {
  15. init();
  16. log.info("开始启动服务...");
  17. Solon.start(App.class, args, app -> {
  18. //加-1 优先级更高
  19. app.router().filter(-1, new CrossFilter().allowedOrigins("*"));
  20. });
  21. }
  22. private static void init() {
  23. log.info("检查工作空间...");
  24. if (Files.notExists(PathConst.RUN_QINGJIAN_PATH)) {
  25. log.info("工作空间不存在,从原始路径移动工作空间...");
  26. FileUtil.copy(PathConst.ORI_QINGJIAN_PATH.toFile(), PathConst.RUN_QINGJIAN_PATH.getParent().toFile(), true);
  27. FileUtil.writeUtf8String("", PathConst.LOCK_FILE.toString());
  28. } else {
  29. log.info("工作空间已存在...");
  30. if (Files.notExists(PathConst.LOCK_FILE)) {
  31. log.info("强制覆盖数据模式启动...");
  32. FileUtil.del(PathConst.RUN_QINGJIAN_PATH);
  33. log.info("从原始路径移动工作空间...");
  34. FileUtil.copy(PathConst.ORI_QINGJIAN_PATH.toFile(), PathConst.RUN_QINGJIAN_PATH.getParent().toFile(), true);
  35. FileUtil.writeUtf8String("", PathConst.LOCK_FILE.toString());
  36. }
  37. }
  38. }
  39. }