VManageBootstrap.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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.cache.annotation.EnableCaching;
  12. import org.springframework.context.ConfigurableApplicationContext;
  13. import org.springframework.scheduling.annotation.EnableScheduling;
  14. import javax.servlet.ServletContext;
  15. import javax.servlet.ServletException;
  16. import javax.servlet.SessionCookieConfig;
  17. import javax.servlet.SessionTrackingMode;
  18. import java.util.Collections;
  19. /**
  20. * 启动类
  21. */
  22. @ServletComponentScan("com.genersoft.iot.vmp.conf")
  23. @SpringBootApplication
  24. @EnableScheduling
  25. @EnableCaching
  26. public class VManageBootstrap extends SpringBootServletInitializer {
  27. private final static Logger logger = LoggerFactory.getLogger(VManageBootstrap.class);
  28. private static String[] args;
  29. private static ConfigurableApplicationContext context;
  30. public static void main(String[] args) {
  31. VManageBootstrap.args = args;
  32. VManageBootstrap.context = SpringApplication.run(VManageBootstrap.class, args);
  33. GitUtil gitUtil1 = SpringBeanFactory.getBean("gitUtil");
  34. logger.info("构建版本: {}", gitUtil1.getBuildVersion());
  35. logger.info("构建时间: {}", gitUtil1.getBuildDate());
  36. logger.info("GIT最后提交时间: {}", gitUtil1.getCommitTime());
  37. }
  38. // 项目重启
  39. public static void restart() {
  40. context.close();
  41. VManageBootstrap.context = SpringApplication.run(VManageBootstrap.class, args);
  42. }
  43. @Override
  44. protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  45. return application.sources(VManageBootstrap.class);
  46. }
  47. @Override
  48. public void onStartup(ServletContext servletContext) throws ServletException {
  49. super.onStartup(servletContext);
  50. servletContext.setSessionTrackingModes(
  51. Collections.singleton(SessionTrackingMode.COOKIE)
  52. );
  53. SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
  54. sessionCookieConfig.setHttpOnly(true);
  55. }
  56. }