Giter Club home page Giter Club logo

spring-boot-legacy's Introduction

Spring Boot Support for Servlet 2.5

Latest release 2.0.1.RELEASE, updated to Spring Boot 2.0.3.RELEASE.

Spring Boot is built on Servlet 3.1. Older servlet versions can be used with Spring Boot, but some workarounds are needed. This project is a library that gives you a start with those. There is a sample that is running on Google Appengine at http://dsyerboot.appspot.com/. Copy the web.xml from the sample to get started with your own project.

To deploy the sample to GAE use mvn appengine:update (reference docs are here).

Additionally this can be used to load Spring Boot in a Servlet 3.0+ container like Wildfly 8.2.1 when you exclude the Spring Framework and Spring Boot dependencies from the WAR and place them in the EAR. i.e. A Skinny Ear. See Spring Boot EAR with Skinny WARs.

spring-boot-legacy's People

Contributors

ddcruver avatar dependabot[bot] avatar ollide avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spring-boot-legacy's Issues

Spring Boot Legacy support for Spring Boot Security Starter?

I am seeing an issue with using Spring Boot Legacy along with Spring Boot Security Starter and wondering if there's an easy workaround.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityFilterChainRegistration' defined in class path resource [org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.context.embedded.FilterRegistrationBean]: Factory method 'securityFilterChainRegistration' threw exception; nested exception is java.lang.NoClassDefFoundError: javax/servlet/DispatcherType
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:602)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1111)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1006)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
    at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:139)
    at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:61)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:224)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:255)
    at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:288)
    at com.google.appengine.tools.development.AutomaticInstanceHolder.startUp(AutomaticInstanceHolder.java:26)
    at com.google.appengine.tools.development.AbstractModule.startup(AbstractModule.java:87)
    at com.google.appengine.tools.development.Modules.startup(Modules.java:105)
    at com.google.appengine.tools.development.DevAppServerImpl.doStart(DevAppServerImpl.java:258)
    at com.google.appengine.tools.development.DevAppServerImpl.access$000(DevAppServerImpl.java:47)
    at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:213)
    at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:211)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:211)
    at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:277)
    at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
    at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:219)
    at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:210)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.context.embedded.FilterRegistrationBean]: Factory method 'securityFilterChainRegistration' threw exception; nested exception is java.lang.NoClassDefFoundError: javax/servlet/DispatcherType
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
    at org.springframework.beans.factory.support.ConstructorResolver$3.run(ConstructorResolver.java:585)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:582)
    ... 42 more
Caused by: java.lang.NoClassDefFoundError: javax/servlet/DispatcherType
    at org.springframework.boot.autoconfigure.security.SpringBootWebSecurityConfiguration.securityFilterChainRegistration(SpringBootWebSecurityConfiguration.java:109)
    at org.springframework.boot.autoconfigure.security.SpringBootWebSecurityConfiguration$$EnhancerBySpringCGLIB$$d1b9f02a.CGLIB$securityFilterChainRegistration$1(<generated>)
    at org.springframework.boot.autoconfigure.security.SpringBootWebSecurityConfiguration$$EnhancerBySpringCGLIB$$d1b9f02a$$FastClassBySpringCGLIB$$6f824853.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:309)
    at org.springframework.boot.autoconfigure.security.SpringBootWebSecurityConfiguration$$EnhancerBySpringCGLIB$$d1b9f02a.securityFilterChainRegistration(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:115)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
    ... 45 more
Caused by: java.lang.ClassNotFoundException: javax.servlet.DispatcherType
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:216)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 57 more

Calling single service with Mono

Hi ,
I would like to call one service using Mono zip () , Genrally mono.zip takes multipple service call response and give the mono response . but i need to call one service and get the result and return the result back .
Please see the below code

Mono initiateWalletBPMRespnoseMono = service1.invokeCJCMAPI(data, intent,processorStep);
Mono customerProfileGQLResponseMono = servic2.invokeCustomerProfileCXPAPI(data);
return Mono.zip(initiateWalletBPMRespnoseMono, customerProfileGQLResponseMono).flatMap(tuple -> {
BPMResponse walletBpmResponse = tuple.getT1();
CustomerProfileGQLResponse paymentCxpInfo = tuple.getT2();

Support for Spring Boot 2.0

Current version is not compatible with Spring Boot 2.0, it crashes when trying to deploy:

Apr 06, 2018 1:33:00 PM org.apache.catalina.core.StandardContext listenerStart
GRAVE: Excepción enviando evento inicializado de contexto a instancia de escuchador de clase org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener
java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V
        at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:50)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4276)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4779)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:803)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:780)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:944)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:779)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:505)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:325)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1069)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
        at org.apache.catalina.core.StandardService.start(StandardService.java:525)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:761)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Endpoints authentication failed when using web.xml & spring-boot-legacy & spring-security

Hi, Dave.

I am trying to restructure a traditional spring project into a springboot one.
web.xml:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>com.ServerServletConfig</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>aservlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value></param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>aservlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

application.properties:

endpoints.enabled=true
endpoints.sensitive=true
management.security.enabled=true
management.context-path=/manage
security.user.password=server
security.user.name=server

The application can start normally, but when I try to visit endpoints from browser it just returns a 401 Full authentication is required to access this resource error without asking me to type in username and password. Related logs are below:

16:00:04.264 DEBUG [resin-port-8081-19] org.springframework.web.servlet.DispatcherServlet: DispatcherServlet with name 'aservlet' processing GET request for [/manage/health]
16:00:04.264 DEBUG [resin-port-8081-19] org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping: Looking up handler method for path /manage/health
16:00:04.264 DEBUG [resin-port-8081-19] org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping: Returning handler method [public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(javax.servlet.http.HttpServletRequest,java.security.Principal)]
16:00:04.264 DEBUG [resin-port-8081-19] org.springframework.web.servlet.DispatcherServlet: Last-Modified value for [/manage/health] is: -1
16:00:04.264 DEBUG [resin-port-8081-19] org.springframework.core.env.PropertySourcesPropertyResolver: Found key 'endpoints.sensitive' in [applicationConfig: [classpath:../conf/application.properties]] with type [String]
16:00:04.265 DEBUG [resin-port-8081-19] org.springframework.web.servlet.DispatcherServlet: Successfully completed request

Endpoints remain unreachable when sending a HTTP GET request with a proper Authentication header manually added.

Dependencies : spring-boot-starter-web: 1.5.6.RELEASE, spring-boot-starter-security: 1.5.6.RELEASE, spring-boot-starter-actuator: 1.5.6.RELEASE, spring-boot-legacy: 1.1.0.RELEASE

Incompatibility with SpringBoot 2.1

Hi,

In SpringBoot 2.1 the constructor for class ServletContextInitializerBeans has been changed by adding varargs Class<? extends ServletContextInitializer>... initializerTypes. This change is breaking this constructor call in spring boot legacy. On compilation time is everything ok (as it should) but on rune time this exception will be thrown

Caused by: java.lang.NoSuchMethodError: org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(Lorg/springframework/beans/factory/ListableBeanFactory;)V
	at org.springframework.boot.legacy.context.web.NonEmbeddedWebApplicationContext.getServletContextInitializerBeans(NonEmbeddedWebApplicationContext.java:147) ~[?:?]
	at org.springframework.boot.legacy.context.web.NonEmbeddedWebApplicationContext.selfInitialize(NonEmbeddedWebApplicationContext.java:128) ~[?:?]
	at org.springframework.boot.legacy.context.web.NonEmbeddedWebApplicationContext.init(NonEmbeddedWebApplicationContext.java:87) ~[?:?]
	at org.springframework.boot.legacy.context.web.NonEmbeddedWebApplicationContext.onRefresh(NonEmbeddedWebApplicationContext.java:75) ~[?:?]
	... 51 more

There is some byte code dependency on varargs. I have also verified it on simple test case.

Would it be possible to release spring boot legacy based on SpringBoot 2.1?

Spring Boot Legacy registers two times JMX Beans

I have a Zuul servlet made with spring-boot-legacy
I have an Exception at the end of the webapp loading:

org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [org.springframework.cloud.context.environment.EnvironmentManager@6e30d38f] with key 'environmentManager'; nested exception is javax.management.InstanceAlreadyExistsException: org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager
The incriminated bean is environmentManager
The first call is from: SpringBootServletInitializer.createRootApplicationContext()
The second register is from: SpringBootContextLoaderListener.initWebApplicationContext()

Any idea why?

Full call stack:

2017-02-14 14:37:31.028  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/pause || /pause.json],methods=[POST]}" onto public java.lang.Object org.springframework.cloud.endpoint.GenericPostableMvcEndpoint.invoke()
2017-02-14 14:37:31.029  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/archaius || /archaius.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-02-14 14:37:31.029  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/restart || /restart.json],methods=[POST]}" onto public java.lang.Object org.springframework.cloud.context.restart.RestartMvcEndpoint.invoke()
2017-02-14 14:37:31.029  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/resume || /resume.json],methods=[POST]}" onto public java.lang.Object org.springframework.cloud.endpoint.GenericPostableMvcEndpoint.invoke()
2017-02-14 14:37:31.030  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/heapdump || /heapdump.json],methods=[GET],produces=[application/octet-stream]}" onto public void org.springframework.boot.actuate.endpoint.mvc.HeapdumpMvcEndpoint.invoke(boolean,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException,javax.servlet.ServletException
2017-02-14 14:37:31.031  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/dump || /dump.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-02-14 14:37:31.031  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/mappings || /mappings.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-02-14 14:37:31.032  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/hystrix.stream/**]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.cloud.netflix.endpoint.ServletWrappingEndpoint.handle(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.lang.Exception
2017-02-14 14:37:31.032  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/trace || /trace.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-02-14 14:37:31.033  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/env],methods=[POST]}" onto public java.lang.Object org.springframework.cloud.context.environment.EnvironmentManagerMvcEndpoint.value(java.util.Map<java.lang.String, java.lang.String>)
2017-02-14 14:37:31.033  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/env/reset],methods=[POST]}" onto public java.util.Map<java.lang.String, java.lang.Object> org.springframework.cloud.context.environment.EnvironmentManagerMvcEndpoint.reset()
2017-02-14 14:37:31.034  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/shutdown || /shutdown.json],methods=[POST]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.ShutdownMvcEndpoint.invoke()
2017-02-14 14:37:31.034  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/refresh || /refresh.json],methods=[POST]}" onto public java.lang.Object org.springframework.cloud.endpoint.GenericPostableMvcEndpoint.invoke()
2017-02-14 14:37:31.034  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/info || /info.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-02-14 14:37:31.035  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/health || /health.json],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(java.security.Principal)
2017-02-14 14:37:31.036  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/env/{name:.*}],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EnvironmentMvcEndpoint.value(java.lang.String)
2017-02-14 14:37:31.036  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/env || /env.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-02-14 14:37:31.037  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/beans || /beans.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-02-14 14:37:31.037  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/routes || /routes.json],methods=[GET]}" onto public java.util.Map<java.lang.String, java.lang.String> org.springframework.cloud.netflix.zuul.RoutesEndpoint.getRoutes()
2017-02-14 14:37:31.037  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/routes || /routes.json],methods=[POST]}" onto public java.util.Map<java.lang.String, java.lang.String> org.springframework.cloud.netflix.zuul.RoutesEndpoint.reset()
2017-02-14 14:37:31.038  INFO 29711 --- [ost-startStop-1] o.s.b.a.e.mvc.EndpointHandlerMapping     : Mapped "{[/features || /features.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()
2017-02-14 14:37:31.618  WARN 29711 --- [ost-startStop-1] o.s.c.n.a.ArchaiusAutoConfiguration      : Netflix ConfigurationManager has already been installed, unable to re-install
2017-02-14 14:37:31.826  INFO 29711 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-02-14 14:37:31.831  INFO 29711 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'zuulEndpoint' has been autodetected for JMX exposure
2017-02-14 14:37:31.832  INFO 29711 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'refreshScope' has been autodetected for JMX exposure
**2017-02-14 14:37:31.832  INFO 29711 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'environmentManager' has been autodetected for JMX exposure**
2017-02-14 14:37:31.833  INFO 29711 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'configurationPropertiesRebinder' has been autodetected for JMX exposure
2017-02-14 14:37:31.833  INFO 29711 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'refreshEndpoint' has been autodetected for JMX exposure
2017-02-14 14:37:31.834  INFO 29711 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'restartEndpoint' has been autodetected for JMX exposure
2017-02-14 14:38:11.987  INFO 29711 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : **Located managed bean 'environmentManager': registering with JMX server as MBean [org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager]**
2017-02-14 14:38:12.012  INFO 29711 --- [ost-startStop-1] utoConfigurationReportLoggingInitializer : 

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2017-02-14 14:38:12.021 ERROR 29711 --- [ost-startStop-1] o.s.boot.SpringApplication               : Application startup failed

org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [org.springframework.cloud.context.environment.EnvironmentManager@6e30d38f] with key 'environmentManager'; nested exception is javax.management.InstanceAlreadyExistsException: org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager
        at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:625) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.jmx.export.MBeanExporter.registerBeans(MBeanExporter.java:550) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.jmx.export.MBeanExporter.afterSingletonsInstantiated(MBeanExporter.java:432) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:774) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) ~[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) ~[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
        at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
        at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:61) [spring-boot-legacy-1.1.0.RELEASE.jar:1.1.0.RELEASE]
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) [spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4853) [catalina.jar:8.0.38]
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) [catalina.jar:8.0.38]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) [catalina.jar:8.0.38]
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) [catalina.jar:8.0.38]
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) [catalina.jar:8.0.38]
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) [catalina.jar:8.0.38]
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:587) [catalina.jar:8.0.38]
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1798) [catalina.jar:8.0.38]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_112]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_112]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_112]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_112]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_112]
Caused by: javax.management.InstanceAlreadyExistsException: org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager
        at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) ~[na:1.8.0_112]
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898) ~[na:1.8.0_112]
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966) ~[na:1.8.0_112]
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900) ~[na:1.8.0_112]
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324) ~[na:1.8.0_112]
        at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) ~[na:1.8.0_112]
        at org.springframework.jmx.support.MBeanRegistrationSupport.doRegister(MBeanRegistrationSupport.java:195) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.jmx.export.MBeanExporter.registerBeanInstance(MBeanExporter.java:678) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:615) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        ... 24 common frames omitted

2017-02-14 14:38:12.022  INFO 29711 --- [ost-startStop-1] onConfigNonEmbeddedWebApplicationContext : Closing org.springframework.boot.legacy.context.web.AnnotationConfigNonEmbeddedWebApplicationContext@31b286eb: startup date [Tue Feb 14 14:37:22 CET 2017]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@5947a9ac
2017-02-14 14:38:12.023  INFO 29711 --- [ost-startStop-1] o.s.c.n.eureka.InstanceInfoFactory       : Setting initial instance status as: STARTING
2017-02-14 14:38:12.027  INFO 29711 --- [ost-startStop-1] c.n.e.EurekaDiscoveryClientConfiguration : Unregistering application cyberzuul with eureka with status DOWN
2017-02-14 14:38:12.032  INFO 29711 --- [ost-startStop-1] c.n.d.provider.DiscoveryJerseyProvider   : Using JSON encoding codec LegacyJacksonJson
2017-02-14 14:38:12.032  INFO 29711 --- [ost-startStop-1] c.n.d.provider.DiscoveryJerseyProvider   : Using JSON decoding codec LegacyJacksonJson
2017-02-14 14:38:12.032  INFO 29711 --- [ost-startStop-1] c.n.d.provider.DiscoveryJerseyProvider   : Using XML encoding codec XStreamXml
2017-02-14 14:38:12.032  INFO 29711 --- [ost-startStop-1] c.n.d.provider.DiscoveryJerseyProvider   : Using XML decoding codec XStreamXml
2017-02-14 14:38:12.151  INFO 29711 --- [ost-startStop-1] c.n.d.s.r.aws.ConfigClusterResolver      : Resolving eureka endpoints via configuration
2017-02-14 14:38:12.152  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Disable delta property : false
2017-02-14 14:38:12.152  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Single vip registry refresh property : null
2017-02-14 14:38:12.152  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Force full registry fetch : false
2017-02-14 14:38:12.152  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Application is null : false
2017-02-14 14:38:12.152  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Registered Applications size is zero : true
2017-02-14 14:38:12.152  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Application version is -1: true
2017-02-14 14:38:12.152  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Getting all instance registry info from the eureka server
2017-02-14 14:38:12.158  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : The response status is 200
2017-02-14 14:38:12.159  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Starting heartbeat executor: renew interval is: 30
2017-02-14 14:38:12.160  INFO 29711 --- [ost-startStop-1] c.n.discovery.InstanceInfoReplicator     : InstanceInfoReplicator onDemand update allowed rate per min is 4
2017-02-14 14:38:12.163  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Discovery Client initialized at timestamp 1487079492163 with initial instances count: 6
2017-02-14 14:38:12.200  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Shutting down DiscoveryClient ...
2017-02-14 14:38:12.201  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Unregistering ...
2017-02-14 14:38:12.207  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_CYBERZUUL/slv3901v.vd.ch:cyberzuul:53000 - deregister  status: 200
2017-02-14 14:38:12.228  INFO 29711 --- [ost-startStop-1] com.netflix.discovery.DiscoveryClient    : Completed shut down of DiscoveryClient
2017-02-14 14:38:12.229  WARN 29711 --- [ost-startStop-1] onConfigNonEmbeddedWebApplicationContext : Exception thrown from LifecycleProcessor on context close

java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.springframework.boot.legacy.context.web.AnnotationConfigNonEmbeddedWebApplicationContext@31b286eb: startup date [Tue Feb 14 14:37:22 CET 2017]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@5947a9ac
        at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:417) [spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1002) [spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:961) [spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:818) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
        at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
        at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:61) [spring-boot-legacy-1.1.0.RELEASE.jar:1.1.0.RELEASE]
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) [spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4853) [catalina.jar:8.0.38]
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) [catalina.jar:8.0.38]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) [catalina.jar:8.0.38]
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) [catalina.jar:8.0.38]
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) [catalina.jar:8.0.38]
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) [catalina.jar:8.0.38]
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:587) [catalina.jar:8.0.38]
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1798) [catalina.jar:8.0.38]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_112]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_112]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_112]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_112]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_112]

2017-02-14 14:38:12.232  INFO 29711 --- [ost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
2017-02-14 14:38:12.248  WARN 29711 --- [ost-startStop-1] c.n.c.sources.URLConfigurationSource     : No URLs will be polled as dynamic configuration sources.
2017-02-14 14:38:12.248  INFO 29711 --- [ost-startStop-1] c.n.c.sources.URLConfigurationSource     : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2017-02-14 14:38:12.254  INFO 29711 --- [ost-startStop-1] o.s.c.n.zuul.ZuulFilterInitializer       : Starting filter initializer context listener
14-Feb-2017 14:38:12.259 GRAVE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file

Web security doesn't work with spring legacy and web.xml

This error is produced:

HTTP Error 500
java.lang.IllegalArgumentException: No matching constant for [0]
    at org.springframework.http.HttpStatus.valueOf(HttpStatus.java:488)
    at org.springframework.boot.legacy.context.web.MetricFilterAutoConfiguration$MetricsFilter.doFilterInternal(MetricFilterAutoConfiguration.java:107)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)

My Controller Class:

@Configuration
@ComponentScan
@EnableAutoConfiguration
@Controller
public class BaseController {

    // Map all urls to this method aside from ones starting with api
    @RequestMapping(value = "/**")
    public String getIndex() {
        return "/views/index.jsp";
    }


    @Configuration
    @Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
    @EnableWebSecurity
    public static class SpringSecurityConfig extends WebSecurityConfigurerAdapter {


        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.httpBasic().and().authorizeRequests()
                    .anyRequest()
                    .authenticated();
        }

        @Autowired
        public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
            auth.inMemoryAuthentication()
                    .withUser("james").password("pass").roles("USER");
        }
    }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>com.football_preds.BaseController</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class>
    </listener>

    <filter>
        <filter-name>metricFilter</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>metricFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextAttribute</param-name>
            <param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!-- Spring Security -->
    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy
        </filter-class>
    </filter>

    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>views/index.jsp</welcome-file>
    </welcome-file-list>

</web-app>

Though spring.jmx.enabled=false, found JmxAutoConfiguration error

java.lang.IllegalStateException: Cannot load configuration class: org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration

    at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses (ConfigurationClassPostProcessor.java:419)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory (ConfigurationClassPostProcessor.java:266)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors (PostProcessorRegistrationDelegate.java:281)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors (PostProcessorRegistrationDelegate.java:125)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors (AbstractApplicationContext.java:686)
    at org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:524)
    at org.springframework.boot.SpringApplication.refresh (SpringApplication.java:761)
    at org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:371)
    at org.springframework.boot.SpringApplication.run (SpringApplication.java:315)
    at org.springframework.boot.builder.SpringApplicationBuilder.run (SpringApplicationBuilder.java:134)
    at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext (SpringBootContextLoaderListener.java:61)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:107)
    at org.mortbay.jetty.handler.ContextHandler.startContext (ContextHandler.java:548)
    at org.mortbay.jetty.servlet.Context.startContext (Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1250)
    at org.mortbay.jetty.handler.ContextHandler.doStart (ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart (WebAppContext.java:467)
    at org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler (AppVersionHandlerMap.java:203)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler (AppVersionHandlerMap.java:176)
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:133)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest (JavaRuntime.java:559)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest (JavaRuntime.java:519)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run (JavaRuntime.java:489)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext (TraceContext.java:453)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run (TraceContext.java:460)
    at com.google.tracing.CurrentContext.runInContext (CurrentContext.java:293)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref (TraceContext.java:319)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext (TraceContext.java:311)
    at com.google.tracing.TraceContext$TraceContextRunnable.run (TraceContext.java:457)
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run (ThreadGroupPool.java:238)
    at java.lang.Thread.run (Thread.java:745)

release please :)

currently facing the awkward situation building a fresh boot app that is likely to end up getting deployed on a weblogic 11g (servlet api 2.5).
would be just great to be able to pull this one in from a central repo.
thanks for keeping an eye on backwards compatibility for those constrained onto application servers lagging behind.

Issue while deploying on SAP Netweaver 7.5

I am trying to deploy the application SAP Netweaver 7.5 which uses JAVAEE5 runtime. I could see that my application refer the class from Servlet 3.0
Caused by: java.lang.NoClassDefFoundError: javax/servlet/DispatcherType
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2724)
at java.lang.Class.getDeclaredMethods(Class.java:1998)
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:668)
... 59 more
Caused by: java.lang.ClassNotFoundException: javax.servlet.DispatcherType

Error with JavaDocs?

Error on mvn build, related to JavaDoc tags:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (attach-javadoc) on project spring-boot-legacy: MavenReportException: Error while creating archive:
[ERROR] Exit code: 1 - /Users/kenkrueger/git/spring-boot-legacy/spring-boot-legacy/src/main/java/org/springframework/boot/legacy/context/web/AnnotationConfigNonEmbeddedWebApplicationContext.java:123: warning: no @param for beanNameGenerator
[ERROR] public void setBeanNameGenerator(BeanNameGenerator beanNameGenerator) {
[ERROR] ^
[ERROR] /Users/kenkrueger/git/spring-boot-legacy/spring-boot-legacy/src/main/java/org/springframework/boot/legacy/context/web/AnnotationConfigNonEmbeddedWebApplicationContext.java:139: warning: no @param for scopeMetadataResolver
[ERROR] public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) {
[ERROR] ^
[ERROR] /Users/kenkrueger/git/spring-boot-legacy/spring-boot-legacy/src/main/java/org/springframework/boot/legacy/context/web/AnnotationConfigNonEmbeddedWebApplicationContext.java:152: warning: nested tag not allowed:
[ERROR] * @Configuration} classes
[ERROR] ^
[ERROR] /Users/kenkrueger/git/spring-boot-legacy/spring-boot-legacy/src/main/java/org/springframework/boot/legacy/context/web/AnnotationConfigNonEmbeddedWebApplicationContext.java:35: warning: nested tag not allowed:
[ERROR] * @Configuration}-annotated classes, but also plain
[ERROR] ^
[ERROR] /Users/kenkrueger/git/spring-boot-legacy/spring-boot-legacy/src/main/java/org/springframework/boot/legacy/context/web/AnnotationConfigNonEmbeddedWebApplicationContext.java:36: warning: nested tag not allowed:
[ERROR] * {@link org.springframework.stereotype.Component @Component} classes and
[ERROR] ^
[ERROR] /Users/kenkrueger/git/spring-boot-legacy/spring-boot-legacy/src/main/java/org/springframework/boot/legacy/context/web/AnnotationConfigNonEmbeddedWebApplicationContext.java:46: error: unknown tag: Author
[ERROR] * @Author Dave Syer
[ERROR] ^
[ERROR] /Users/kenkrueger/git/spring-boot-legacy/spring-boot-legacy/src/main/java/org/springframework/boot/legacy/context/web/AnnotationConfigNonEmbeddedWebApplicationContext.java:78: warning: nested tag not allowed:
[ERROR] * @Configuration} classes
[ERROR] ^
[ERROR]
[ERROR] Command line was: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/javadoc @options @packages
[ERROR]
[ERROR] Refer to the generated Javadoc files in '/Users/kenkrueger/git/spring-boot-legacy/spring-boot-legacy/target/apidocs' dir.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.

These JavaDoc tags look fine to me, but the maven plugin is complaining. The error can be bypassed by running mvn clean install -Dmaven.javadoc.skip=true

...or by removing the offending javadoc tags.

Sample app runs fine on local dev server, but fails to startup when deployed to AppEngine

I've been trying to get the AppEngine example to work. This is running fine locally (gae:run), but when I deploy to the actual servers, I get a nullpointer when the application starts up.

This seems to have been introduced in version 1.1.3 when a cleanup operation was added to LoggingApplicationListener. This in turn causes a nullpointer because the system property is not set:

line 155 in this code:
https://github.com/spring-projects/spring-boot/blob/v1.1.3.RELEASE/spring-boot/src/main/java/org/springframework/boot/logging/LoggingApplicationListener.java

This cleanup code was later moved to its own method which causes the current (spring boot 1.1.8) exception (see below)

What are the plans for the legacy support? I have a feeling I should not bother and probably deploy straight to Compute Engine instead.

java.lang.NullPointerException: null at org.springframework.boot.logging.LoggingApplicationListener.cleanLogTempProperty(LoggingApplicationListener.java:172) at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:145) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:126) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:98) at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:100) at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:59) at org.springframework.boot.SpringApplication.run(SpringApplication.java:284) at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142) at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:61) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:199) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:174) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134) at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:480) at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:438) at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:445) at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:220) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:309) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:301) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:442) at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251) at java.lang.Thread.run(Thread.java:724)
    W 08:06:05.832
Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@a4f3e{/,/base/data/home/apps/s~fctrbe-staging-hrd/test-api.380206809372384620} java.lang.NullPointerException at org.springframework.boot.logging.LoggingApplicationListener.cleanLogTempProperty(LoggingApplicationListener.java:172) at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:145) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:126) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:98) at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:100) at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:59) at org.springframework.boot.SpringApplication.run(SpringApplication.java:284) at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142) at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:61) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:199) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:174) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134) at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:480) at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:438) at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:445) at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:220) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:309) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:301) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:442) at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251) at java.lang.Thread.run(Thread.java:724)
    F 08:06:05.840
Uncaught exception from servlet java.lang.NullPointerException at org.springframework.boot.logging.LoggingApplicationListener.cleanLogTempProperty(LoggingApplicationListener.java:172) at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:145) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:126) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:98) at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:100) at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:59) at org.springframework.boot.SpringApplication.run(SpringApplication.java:284) at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142) at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:61) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:199) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:174) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134) at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:480) at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:438) at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:445) at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:220) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:309) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:301) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:442) at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251) at java.lang.Thread.run(Thread.java:724)

Possible bad scm metadata in Maven POM

<url>http://github.com/dsyer/spring-boot-jersey</url>
<connection>scm:git:git://github.com/scratches/spring-boot-legacy.git</connection>
<developerConnection>scm:git:ssh://[email protected]/scratches/spring-boot-legacy.git</developerConnection>

Shouldn't it read more like:

	<scm>
		<url>http://github.com/dsyer/spring-boot-legacy</url>
		<connection>scm:git:git://github.com/dsyer/spring-boot-legacy.git</connection>
		<developerConnection>scm:git:ssh://[email protected]/dsyer/spring-boot-legacy.git</developerConnection>
		<tag>HEAD</tag>
	</scm>

I see you do have the dyser and scratches github accounts so maybe part of this is intentional.

Exception on GAE

I'm trying run your project on google app engine.
Your app works fine on localhost but when I call the URL on gae I'll get an exception evertime I call my url:

http://gae-spring-boot.appspot.com/

W 10:16:53.009 Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@1bb1780{/,/base/data/home/apps/s~gae-spring-boot/1.388640722993259859}
  java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup")
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:382)
    at java.security.AccessController.checkPermission(AccessController.java:572)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
    at com.google.apphosting.runtime.security.CustomSecurityManager.checkPermission(CustomSecurityManager.java:55)
    at com.google.apphosting.runtime.security.CustomSecurityManager.checkAccess(CustomSecurityManager.java:136)
    at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315)
    at java.lang.Thread.init(Thread.java:391)
    at java.lang.Thread.init(Thread.java:349)
    at java.lang.Thread.<init>(Thread.java:675)
    at java.util.concurrent.Executors$DefaultThreadFactory.newThread(Executors.java:572)
    at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:600)
    at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943)
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1383)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:110)
    at java.util.concurrent.Executors$DelegatedExecutorService.submit(Executors.java:638)
    at org.springframework.boot.autoconfigure.BackgroundPreinitializer.submit(BackgroundPreinitializer.java:50)
    at org.springframework.boot.autoconfigure.BackgroundPreinitializer.onApplicationEvent(BackgroundPreinitializer.java:43)
    at org.springframework.boot.autoconfigure.BackgroundPreinitializer.onApplicationEvent(BackgroundPreinitializer.java:37)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:163)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:136)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:119)
    at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:111)
    at org.springframework.boot.context.event.EventPublishingRunListener.started(EventPublishingRunListener.java:60)
    at org.springframework.boot.SpringApplicationRunListeners.started(SpringApplicationRunListeners.java:48)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:293)
    at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134)
    at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:61)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:206)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:179)
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:136)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:469)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444)
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:234)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441)
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:235)
    at java.lang.Thread.run(Thread.java:745)
F 10:16:53.011 Uncaught exception from servlet
  java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup")
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:382)
    at java.security.AccessController.checkPermission(AccessController.java:572)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
    at com.google.apphosting.runtime.security.CustomSecurityManager.checkPermission(CustomSecurityManager.java:55)
    at com.google.apphosting.runtime.security.CustomSecurityManager.checkAccess(CustomSecurityManager.java:136)
    at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315)
    at java.lang.Thread.init(Thread.java:391)
    at java.lang.Thread.init(Thread.java:349)
    at java.lang.Thread.<init>(Thread.java:675)
    at java.util.concurrent.Executors$DefaultThreadFactory.newThread(Executors.java:572)
    at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:600)
    at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943)
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1383)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:110)
    at java.util.concurrent.Executors$DelegatedExecutorService.submit(Executors.java:638)
    at org.springframework.boot.autoconfigure.BackgroundPreinitializer.submit(BackgroundPreinitializer.java:50)
    at org.springframework.boot.autoconfigure.BackgroundPreinitializer.onApplicationEvent(BackgroundPreinitializer.java:43)
    at org.springframework.boot.autoconfigure.BackgroundPreinitializer.onApplicationEvent(BackgroundPreinitializer.java:37)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:163)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:136)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:119)
    at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:111)
    at org.springframework.boot.context.event.EventPublishingRunListener.started(EventPublishingRunListener.java:60)
    at org.springframework.boot.SpringApplicationRunListeners.started(SpringApplicationRunListeners.java:48)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:293)
    at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134)
    at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:61)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:206)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:179)
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:136)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:469)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444)
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:234)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441)
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:235)
    at java.lang.Thread.run(Thread.java:745)

Upload SBL 1.0.3.RELEASE to Maven Central

Hi Dave,

I'm trying to use Spring Boot Legacy 1.0.3.RELEASE but it isn't in any of the Maven repositories that I known: Maven Central and Spring IO Repo. However the Spring Boot Legacy 1.0.2.RELEASE is available in these repositories.

The application is based on Spring Boot 1.3, so it seems I should use the Spring Boot Legacy 1.0.3.RELEASE ...

Could you advise which version is the right version for Spring Boot 1.3?

Thanks,

exception handling question

Hi,
First thanks a lot for this very useful spring module.
Using the demo project from spring-boot-legacy, I noticed that the way uncaught exceptions are handled seems to be different in regular spring-boot and legacy spring-boot: for example, when an uncaught exception happens in regular spring boot in a REST controller called from a rest client (e.g. Chrome's "advanced rest client"), the regular spring-boot will kindly put exception-related json info in the response body:
{
timestamp: 1449109203030
status: 404
error: "Not Found"
message: "No message available"
path: "/demo-app/api/persons"
}
In the case of spring-boot-legacy, the application seems to just delegate to the container, which results in HTML info which would be almost impossible to handle through javascript (so, from a rest client perspective, the only remaining piece of useful info is the response status code)
Is there a (simple?) way, exception handling could be modified to better match the regular spring boot ?
Thank you very much in advance for your feedback and your expertise.
regards
kbjp2

SpringBootContextLoaderListener does not destroy the context

It overrides initWebApplicationContext. The return value is not used to set ContextLoader#context. Thus ContextLoader#closeWebApplicationContext is called but on a null ContextLoader#context.

It may be better to override ContextLoader#createWebApplicationContext

Fails on startup in GAE with Spring Boot 2.0

The war file looks OK but you can see lots of issues in logs (class not found for slf4j for instance). Now that master is tracking Spring Boot 2.0 (thanks to #24) it would be helpful if anyone has time to fix this and send a PR.

Allow configuration via SpringApplicationBuilder

When using the SpringBootContextLoaderListener there is no place to configure your SpringApplicationBuilder before it is run.
In our case, we add profiles depending on the environment the application is run in.
This would normally be done in the main with something like:-
SpringApplication app = new SpringApplication(Application.class);
app.setAdditionalProfiles("uat");

I propose a simple extension point allowing access to the SpringApplicationBuilder just before the application is run.
I am submitting a pull request for this.

Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration':

I've created a spring boot application and in that I've used angularjs + h2database. Now, I've cloned spring-boot-sample-gae and put my code inside that (web.xml, appengine-web.xml and pom xml have been modified). After that, I used mvn install & mvn appengine:update to deploy my application. It shows that application has been deployed successfully but I found mentioned error in console.

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.SecurityException: Unable to get members for class org.apache.tomcat.jdbc.pool.DataSource

        at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver.java:749)
        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor (ConstructorResolver.java:189)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor (AbstractAutowireCapableBeanFactory.java:1148)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1050)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:512)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject (AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod (ConstructorResolver.java:372)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod (AbstractAutowireCapableBeanFactory.java:1128)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1022)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:512)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject (AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:197)
        at org.springframework.context.support.AbstractApplicationContext.getBean (AbstractApplicationContext.java:1081)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:856)
        at org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:542)
        at org.springframework.boot.SpringApplication.refresh (SpringApplication.java:761)
        at org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:371)
        at org.springframework.boot.SpringApplication.run (SpringApplication.java:315)
        at org.springframework.boot.builder.SpringApplicationBuilder.run (SpringApplicationBuilder.java:134)
        at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext (SpringBootContextLoaderListener.java:61)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:107)
        at org.mortbay.jetty.handler.ContextHandler.startContext (ContextHandler.java:548)
        at org.mortbay.jetty.servlet.Context.startContext (Context.java:136)
        at org.mortbay.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1250)
        at org.mortbay.jetty.handler.ContextHandler.doStart (ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart (WebAppContext.java:467)
        at org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler (AppVersionHandlerMap.java:203)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler (AppVersionHandlerMap.java:176)
        at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:133)
        at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest (JavaRuntime.java:559)
        at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest (JavaRuntime.java:519)
        at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run (JavaRuntime.java:489)
        at com.google.tracing.TraceContext$TraceContextRunnable.runInContext (TraceContext.java:453)
        at com.google.tracing.TraceContext$TraceContextRunnable$1.run (TraceContext.java:460)
        at com.google.tracing.CurrentContext.runInContext (CurrentContext.java:293)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref (TraceContext.java:319)
        at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext (TraceContext.java:311)
        at com.google.tracing.TraceContext$TraceContextRunnable.run (TraceContext.java:457)
        at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run (ThreadGroupPool.java:238)
        at java.lang.Thread.run (Thread.java:745)


Incompatibility with SpringBoot 2.6

Hi,

I noticed that when starting application with spring-boot-legacy and spring-boot-starter-parent 2.6.X the following error occurs:

java.lang.NoSuchMethodError: 'org.springframework.boot.builder.SpringApplicationBuilder org.springframework.boot.builder.SpringApplicationBuilder.contextClass(java.lang.Class)'
	at org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener.initWebApplicationContext(SpringBootContextLoaderListener.java:105)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)

SpringBootContextLoaderListener#initWebApplicationContext uses SpringApplicationBuilder#contextClass method that was deprecated in spring boot 2.6

Would it be possible to release spring boot legacy based on SpringBoot 2.6?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.