【问题标题】:JVM server.port OptionsJVM server.port 选项
【发布时间】:2014-07-17 17:19:01
【问题描述】:

jvm 选项-Dserver.port=-1 是什么意思?我知道将其设置为 0 意味着随机端口。有一篇不错的文章here

【问题讨论】:

    标签: maven jvm spring-boot


    【解决方案1】:

    意思是“创建一个WebApplicationContext,但不启动服务器”。

    【讨论】:

    • 谢谢戴夫!如果我们使用嵌入式服务器(例如任何 spring-boot 应用程序),您能否评论一下这个选项会产生什么影响?
    • 就是这个意思(就是嵌入式服务器没有启动)。
    • 是的,我明白了。我担心这个选项如何与嵌入式服务器相关。
    【解决方案2】:

    让我们看一下从使用不同选项运行的同一个测试 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 运行时,服务器以可用的随机端口启动。

    . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_||))))) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|===============|___/=/_/_/_/ :: Spring Boot :: (v1.0.2.RELEASE) 2014-05-29 09:59:31.815 INFO 2756 --- [main] s.t.spring.security.config.Application:在 KOLTM28902K0NX 上使用 PID 2756 启动应用程序(C:\Users\607130889\Share\s pring-security-test-0.0.1-SNAPSHOT.jar 在 C:\Users\607130889\Share 中由 607130889 启动 2014-05-29 09:59:31.908 INFO 2756 --- [主要] ationConfigEmbeddedWebApplicationContext:刷新 org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWeb ApplicationContext@1c5f743:启动日期 [Thu May 29 09:59:31 IST 2014];上下文层次的根 2014-05-29 09:59:34.295 INFO 2756 --- [main] .t.TomcatEmbeddedServletContainerFactory:服务器初始化为端口:-1 2014-05-29 09:59:34.748 INFO 2756 --- [main] o.apache.catalina.core.StandardService:启动服务 Tomcat 2014-05-29 09:59:34.748 INFO 2756 --- [main] org.apache.catalina.core.StandardEngine:启动 Servlet 引擎:Apache Tomcat/7.0.52 2014-05-29 09:59:35.013 INFO 2756 --- [ost-startStop-1] o.a.c.c.C.[.[localhost].[/secure]:初始化 Spring 嵌入式 WebApplicationContext 2014-05-29 09:59:35.013 INFO 2756 --- [ost-startStop-1] os.web.context.ContextLoader:根 WebApplicationContext:初始化在 3105 毫秒内完成 2014-05-29 09:59:36.526 INFO 2756 --- [ost-startStop-1] os.s.web.DefaultSecurityFilterChain:创建过滤器链:org.springframework.security.web.util.matcher.AnyRequestM atcher@1, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@167c6fd, org.springframework.security.web.context.SecurityContextPersistenceFilte r@139d115, org.springframework.security.web.header.HeaderWriterFilter@19d9c0d, org.springframework.security.web.csrf.CsrfFilter@1384ed5, org.springframework.security.web.authentica tion.logout.LogoutFilter@14189d0, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@2cd728, org.springframework.security.web.savedrequest.Request CacheAwareFilter@83de21, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1b2380e, org.springframework.security.web.authentication.AnonymousAuthe nticationFilter@39452f, org.springframework.security.web.session.SessionManagementFilter@154c054, org.springframework.security.web.access.ExceptionTranslationFilter@5db9eb, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1353154] 2014-05-29 09:59:36.589 信息 2756 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean:映射 servlet:'dispatcherServlet' 到 [/] 2014-05-29 09:59:36.604 INFO 2756 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean:映射过滤器:“springSecurityFilterChain”到:[/*] 2014-05-29 09:59:36.604 INFO 2756 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean:映射过滤器:'hiddenHttpMethodFilter' 到:[/*] 2014-05-29 09:59:37.213 INFO 2756 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/**/favicon.ico] 映射到 [class org.springframewor] 类型的处理程序 k.web.servlet.resource.ResourceHttpRequestHandler] 2014-05-29 09:59:37.415 INFO 2756 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/hello] 映射到 [class org.springframework.web.ser] 类型的处理程序上 vlet.mvc.ParameterizableViewController] 2014-05-29 09:59:37.415 INFO 2756 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/home] 映射到 [class org.springframework.web.serv 类型的处理程序 let.mvc.ParameterizableViewController] 2014-05-29 09:59:37.415 INFO 2756 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/login] 映射到 [class org.springframework.web.ser] 类型的处理程序上 vlet.mvc.ParameterizableViewController] 2014-05-29 09:59:37.415 INFO 2756 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:到类型处理程序的根映射 [class org.springframework.web.servlet.mvc.Param eterizableViewController] 2014-05-29 09:59:37.431 INFO 2756 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:映射 URL 路径 [/**] 到类型 [class org.springframework.web.servle t.resource.ResourceHttpRequestHandler] 2014-05-29 09:59:37.431 INFO 2756 --- [main] oswshandler.SimpleUrlHandlerMapping:将 URL 路径 [/webjars/**] 映射到 [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler ] 2014-05-29 09:59:37.805 INFO 2756 --- [main] o.s.j.e.a.AnnotationMBeanExporter:在启​​动时为 JMX 暴露注册 bean 2014-05-29 09:59:37.868 INFO 2756 --- [main] s.t.spring.security.config.Application:在 7.551 秒内启动应用程序(JVM 运行 9.08)

    当应用程序使用server.port=-1 选项运行时,这里缺少服务器启动通知。

    【讨论】:

      猜你喜欢
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 2014-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多