VManageBootstrap.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.genersoft.iot.vmp;
  2. import com.genersoft.iot.vmp.utils.GitUtil;
  3. import com.genersoft.iot.vmp.utils.SpringBeanFactory;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.springframework.boot.SpringApplication;
  6. import org.springframework.boot.autoconfigure.SpringBootApplication;
  7. import org.springframework.boot.builder.SpringApplicationBuilder;
  8. import org.springframework.boot.web.servlet.ServletComponentScan;
  9. import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
  10. import org.springframework.cache.annotation.EnableCaching;
  11. import org.springframework.context.ConfigurableApplicationContext;
  12. import org.springframework.scheduling.annotation.EnableScheduling;
  13. import javax.servlet.ServletContext;
  14. import javax.servlet.ServletException;
  15. import javax.servlet.SessionCookieConfig;
  16. import javax.servlet.SessionTrackingMode;
  17. import java.util.Collections;
  18. /**
  19. * 启动类
  20. */
  21. @ServletComponentScan("com.genersoft.iot.vmp.conf")
  22. @SpringBootApplication
  23. @EnableScheduling
  24. @EnableCaching
  25. @Slf4j
  26. public class VManageBootstrap extends SpringBootServletInitializer {
  27. private static String[] args;
  28. private static ConfigurableApplicationContext context;
  29. public static void main(String[] args) {
  30. VManageBootstrap.args = args;
  31. VManageBootstrap.context = SpringApplication.run(VManageBootstrap.class, args);
  32. GitUtil gitUtil = SpringBeanFactory.getBean("gitUtil");
  33. if (gitUtil == null) {
  34. log.info("获取版本信息失败");
  35. }else {
  36. log.info("构建版本: {}", gitUtil.getBuildVersion());
  37. log.info("构建时间: {}", gitUtil.getBuildDate());
  38. log.info("GIT最后提交时间: {}", gitUtil.getCommitTime());
  39. }
  40. }
  41. // 项目重启
  42. public static void restart() {
  43. context.close();
  44. VManageBootstrap.context = SpringApplication.run(VManageBootstrap.class, args);
  45. }
  46. @Override
  47. protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  48. return application.sources(VManageBootstrap.class);
  49. }
  50. @Override
  51. public void onStartup(ServletContext servletContext) throws ServletException {
  52. super.onStartup(servletContext);
  53. servletContext.setSessionTrackingModes(
  54. Collections.singleton(SessionTrackingMode.COOKIE)
  55. );
  56. SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
  57. sessionCookieConfig.setHttpOnly(true);
  58. }
  59. }