【发布时间】:2014-07-17 17:19:01
【问题描述】:
jvm 选项-Dserver.port=-1 是什么意思?我知道将其设置为 0 意味着随机端口。有一篇不错的文章here。
【问题讨论】:
标签: maven jvm spring-boot
jvm 选项-Dserver.port=-1 是什么意思?我知道将其设置为 0 意味着随机端口。有一篇不错的文章here。
【问题讨论】:
标签: maven jvm spring-boot
意思是“创建一个WebApplicationContext,但不启动服务器”。
【讨论】:
让我们看一下从使用不同选项运行的同一个测试 spring 应用程序中截取的两个屏幕截图。
C:\>java -jar -Dserver.contextPath=/testapp -Dserver.port=0 spring-security-test-0.0.1-SNAPSHOT.jar . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_||))))) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|===============|___/=/_/_/_/ :: Spring Boot :: (v1.0.2.RELEASE) 2014-05-29 10:22:36.434 INFO 10172 --- [main] s.t.spring.security.config.Application:在 KOLTM28902K0NX 上使用 PID 10172 启动应用程序(C:\spring-security-test- 0.0.1-SNAPSHOT.jar 由 C:\ 中的 607130889 启动 2014-05-29 10:22:36.481 信息 10172 --- [主要] ationConfigEmbeddedWebApplicationContext:刷新 org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWe bApplicationContext@1d256fa:启动日期 [Thu May 29 10:22:36 IST 2014];上下文层次的根 2014-05-29 10:22:37.619 INFO 10172 --- [main] .t.TomcatEmbeddedServletContainerFactory:服务器初始化为端口:0 2014-05-29 10:22:37.744 INFO 10172 --- [main] o.apache.catalina.core.StandardService:启动服务 Tomcat 2014-05-29 10:22:37.744 INFO 10172 --- [main] org.apache.catalina.core.StandardEngine:启动 Servlet 引擎:Apache Tomcat/7.0.52 2014-05-29 10:22:37.853 INFO 10172 --- [ost-startStop-1] o.a.c.c.C.[.[localhost].[/testapp]:初始化 Spring 嵌入式 WebApplicationContext 2014-05-29 10:22:37.853 INFO 10172 --- [ost-startStop-1] os.web.context.ContextLoader:根 WebApplicationContext:初始化在 1372 毫秒内完成 2014-05-29 10:22:38.805 INFO 10172 --- [ost-startStop-1] os.s.web.DefaultSecurityFilterChain:创建过滤器链:org.springframework.security.web.util.matcher.AnyRequest Matcher@1, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@a30fd, org.springframework.security.web.context.SecurityContextPersistenceFilter @cad437, org.springframework.security.web.header.HeaderWriterFilter@1f18cbe, org.springframework.security.web.csrf.CsrfFilter@725967, org.springframework.security.web.authenticatio n.logout.LogoutFilter@1ed688f, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@10ff62a, org.springframework.security.web.savedrequest.RequestCa cheAwareFilter@f18d37, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1c0b8a0, org.springframework.security.web.authentication.AnonymousAuthent icationFilter@11650d6, org.springframework.security.web.session.SessionManagementFilter@178c490, org.springframework.security.web.access.ExceptionTranslationFilter@1de7497, org.spr ingframework.security.web.access.intercept.FilterSecurityInterceptor@4d28c7] 2014-05-29 10:22:38.867 信息 10172 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean:映射 servlet:'dispatcherServlet' 到 [/] 2014-05-29 10:22:38.867 INFO 10172 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean:映射过滤器:“springSecurityFilterChain”到:[/*] 2014-05-29 10:22:38.867 INFO 10172 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean:映射过滤器:'hiddenHttpMethodFilter' 到:[/*] 2014-05-29 10:22:39.148 INFO 10172 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/**/favicon.ico] 映射到 [class org.springframewo] 类型的处理程序上 rk.web.servlet.resource.ResourceHttpRequestHandler] 2014-05-29 10:22:39.211 INFO 10172 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/hello] 映射到 [class org.springframework.web.se] 类型的处理程序 rvlet.mvc.ParameterizableViewController] 2014-05-29 10:22:39.211 INFO 10172 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/home] 映射到 [class org.springframework.web.ser] 类型的处理程序 vlet.mvc.ParameterizableViewController] 2014-05-29 10:22:39.211 INFO 10172 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:映射 URL 路径 [/login] 到类型 [class org.springframework.web.se rvlet.mvc.ParameterizableViewController] 2014-05-29 10:22:39.211 INFO 10172 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:根映射到类型为 [class org.springframework.web.servlet.mvc.Para 可计量的视图控制器] 2014-05-29 10:22:39.273 INFO 10172 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:映射 URL 路径 [/**] 到类型 [class org.springframework.web.servl et.resource.ResourceHttpRequestHandler] 2014-05-29 10:22:39.273 INFO 10172 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/webjars/**] 映射到 [class org.springframework.w eb.servlet.resource.ResourceHttpRequestHandler] 2014-05-29 10:22:39.585 INFO 10172 --- [main] o.s.j.e.a.AnnotationMBeanExporter:在启动时为 JMX 暴露注册 bean 2014-05-29 10:22:39.663 INFO 10172 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer:Tomcat 在端口:56822/http 上启动 2014-05-29 10:22:39.663 INFO 10172 --- [main] s.t.spring.security.config.Application:在 3.666 秒内启动应用程序(JVM 运行 4.056)我们可以看到,当应用程序使用-Dserver.port=0 运行时,服务器以可用的随机端口启动。
当应用程序使用server.port=-1 选项运行时,这里缺少服务器启动通知。
【讨论】: