[Geoserver-devel] [jira] Created: (GEOS-4465) Support Geoserver deployments in Tomcat 7 / Servlet 3.0

Support Geoserver deployments in Tomcat 7 / Servlet 3.0
-------------------------------------------------------

                 Key: GEOS-4465
                 URL: http://jira.codehaus.org/browse/GEOS-4465
             Project: GeoServer
          Issue Type: New Feature
    Affects Versions: 2.1-RC4, 2.1-RC2
         Environment: Linux, Java 6, Tomcat 7.0.8 & Tomcat 7.0.11
            Reporter: Torsten Heinen
            Assignee: Andrea Aime

It looks like Geoserver does not work with Tomcat 7.

The Geoserver WAR distribution can be deployed and it also seems to be initialized correctly as it is shown in Tomcat Manager as "Running=true". The geoserver log is also fine, except some unrelated "org.geotools.data.DataSourceException: No reader avalaible for this source" exceptions.

However, accessing http://localhost:8080/geoserver results in an HTTP 500 exception:

javax.servlet.ServletException: Filter execution threw an exception
  org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:48)
  org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:394)
  org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
  org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:109)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:185)
  org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
  org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:71)
  org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
  org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)

root cause: java.lang.AbstractMethodError
  org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:48)
  org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:394)
  org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
  org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:109)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
  org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:185)
  org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
  org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:71)
  org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
  org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)

The logs files (catalina.out and geoserver.log) does not show any activity (or errors). I have searched for servlet filter incompability between Servlet 2.X / 3.0 but found nothing. Also, according to the Servlet 3 Javadoc (http://jcp.org/aboutJava/communityprocess/final/jsr315/index.html) the Filter.doFilter() and FilterChain.doFilter() method have not changed.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira