VManageBootstrap.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.genersoft.iot.vmp;
  2. import com.genersoft.iot.vmp.utils.GitUtil;
  3. import com.genersoft.iot.vmp.utils.SpringBeanFactory;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6. import org.springframework.boot.SpringApplication;
  7. import org.springframework.boot.autoconfigure.SpringBootApplication;
  8. import org.springframework.boot.builder.SpringApplicationBuilder;
  9. import org.springframework.boot.web.servlet.ServletComponentScan;
  10. import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
  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. public class VManageBootstrap extends SpringBootServletInitializer {
  25. private final static Logger logger = LoggerFactory.getLogger(VManageBootstrap.class);
  26. private static String[] args;
  27. private static ConfigurableApplicationContext context;
  28. public static void main(String[] args) {
  29. VManageBootstrap.args = args;
  30. VManageBootstrap.context = SpringApplication.run(VManageBootstrap.class, args);
  31. GitUtil gitUtil1 = SpringBeanFactory.getBean("gitUtil");
  32. logger.info("构建版本: {}", gitUtil1.getBuildVersion());
  33. logger.info("构建时间: {}", gitUtil1.getBuildDate());
  34. logger.info("GIT最后提交时间: {}", gitUtil1.getCommitTime());
  35. }
  36. // 项目重启
  37. public static void restart() {
  38. context.close();
  39. VManageBootstrap.context = SpringApplication.run(VManageBootstrap.class, args);
  40. }
  41. @Override
  42. protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  43. return application.sources(VManageBootstrap.class);
  44. }
  45. @Override
  46. public void onStartup(ServletContext servletContext) throws ServletException {
  47. super.onStartup(servletContext);
  48. servletContext.setSessionTrackingModes(
  49. Collections.singleton(SessionTrackingMode.COOKIE)
  50. );
  51. SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
  52. sessionCookieConfig.setHttpOnly(true);
  53. }
  54. }