2016-06-20 6 views
2

Ich habe ein Spring-Projekt (MVC 4.2 + Sicherheit 4.1 + Winterschlaf 4.3). Ich versuche dieses Projekt von tomcat7 auf tomcat8 zu migrieren (mit tomcat7 ist alles in Ordnung). Viele Fehler, dassMigration Frühlingsprojekt von Tomcat 7 zu Tomcat 8

Meine neue Eclipse-Projekt Einstellung conf:

<?xml version="1.0" encoding="UTF-8"?> 
<faceted-project> 
    <fixed facet="wst.jsdt.web"/> 
    <installed facet="jst.jaxrs" version="1.1"/> 
    <installed facet="wst.jsdt.web" version="1.0"/> 
    <installed facet="java" version="1.7"/> 
    <installed facet="jst.web" version="3.1"/> 
</faceted-project> 

Mein Fehler

HTTP Status 500 - Servlet.init() for servlet dispatcher threw exception 

type Exception report 

message Servlet.init() for servlet dispatcher threw exception 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: Servlet.init() for servlet dispatcher threw exception 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 
root cause 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.annotation.internalAsyncAnnotationProcessor' defined in org.springframework.scheduling.annotation.ProxyAsyncConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor]: Factory method 'asyncAdvisor' threw exception; nested exception is java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected 
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) 
    org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:228) 
    org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:687) 
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:523) 
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:666) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:632) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:680) 
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:551) 
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:492) 
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 
root cause 

org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor]: Factory method 'asyncAdvisor' threw exception; nested exception is java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected 
    org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) 
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) 
    org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:228) 
    org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:687) 
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:523) 
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:666) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:632) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:680) 
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:551) 
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:492) 
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 
root cause 

java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected 
    org.springframework.util.Assert.notNull(Assert.java:115) 
    org.springframework.scheduling.annotation.ProxyAsyncConfiguration.asyncAdvisor(ProxyAsyncConfiguration.java:46) 
    org.springframework.scheduling.annotation.ProxyAsyncConfiguration$$EnhancerBySpringCGLIB$$694eb5c3.CGLIB$asyncAdvisor$0(<generated>) 
    org.springframework.scheduling.annotation.ProxyAsyncConfiguration$$EnhancerBySpringCGLIB$$694eb5c3$$FastClassBySpringCGLIB$$13254074.invoke(<generated>) 
    org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) 
    org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356) 
    org.springframework.scheduling.annotation.ProxyAsyncConfiguration$$EnhancerBySpringCGLIB$$694eb5c3.asyncAdvisor(<generated>) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    java.lang.reflect.Method.invoke(Method.java:606) 
    org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) 
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) 
    org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:228) 
    org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:687) 
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:523) 
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:666) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:632) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:680) 
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:551) 
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:492) 
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 

Dispatcher-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> 

    <!-- Scans the classpath of this application for @Components to deploy as 
     beans --> 
    <context:component-scan base-package="." /> 

    <!-- Configures the @Controller programming model --> 
    <mvc:annotation-driven /> 

    <!-- Forwards requests to the "/" resource to the "welcome" view --> 
<!-- <mvc:view-controller path="/" view-name="home" /> --> 

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving 
     up static resources in the ${webappRoot}/resources/ directory --> 
    <mvc:resources mapping="/resources/**" location="/resources/" /> 

    <!-- Configures Handler Interceptors --> 
    <mvc:interceptors> 
     <!-- Changes the locale when a 'language' request parameter is sent; e.g. 
      /?language=de --> 
     <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
      <property name="paramName" value="language" /> 
     </bean> 
     <mvc:interceptor> 
      <mvc:mapping path="/**Creation**" /> 
      <mvc:mapping path="/**import**" /> 
      <mvc:mapping path="/**Import**" /> 
      <mvc:mapping path="/**update**" /> 
      <mvc:mapping path="/**Update**" /> 
      <mvc:mapping path="/**Deletion**" /> 
      <mvc:mapping path="/**delete**" /> 
      <mvc:mapping path="/**Copy**" /> 
      <mvc:mapping path="/**Merge**" /> 
      <mvc:mapping path="/**Publish**" /> 
      <bean class="fr.lis.xper3.utils.Xper3UpdateInterceptor"></bean> 
     </mvc:interceptor> 
     <mvc:interceptor> 
      <mvc:mapping path="/**"/> 
      <mvc:exclude-mapping path="/auth*"/> 
      <mvc:exclude-mapping path="/security*"/> 
      <mvc:exclude-mapping path="/kbEdition*"/> 
      <mvc:exclude-mapping path="/resources/**"/> 
      <mvc:exclude-mapping path="/"/> 
      <mvc:exclude-mapping path="/user*"/> 
      <mvc:exclude-mapping path="/admin*"/> 
      <bean class="fr.lis.xper3.utils.Xper3DatasetInterceptor"></bean> 
     </mvc:interceptor> 
    </mvc:interceptors> 

    <!-- Saves a locale change using the session or cookie --> 
    <bean id="localeResolver" 
     class="org.springframework.web.servlet.i18n.SessionLocaleResolver"> 
     <property name="defaultLocale" value="en" /> 
    </bean> 
    <!-- <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> 
     <property name="defaultLocale" value="en" /> </bean> --> 

    <!-- Resolves view names to protected .jsp resources within the /WEB-INF/views 
     directory --> 
    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/WEB-INF/views/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 

</beans> 

web.xml

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

<!-- Application context definition --> 
    <listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 
    <context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
      /WEB-INF/web-application-context.xml 
      /WEB-INF/security-application-context.xml 
     </param-value> 
    </context-param> 
    <listener> 
    <listener-class> 
      fr.lis.xper3.utils.Xper3ServerListener 
     </listener-class> 
    </listener> 
    <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> 

    <!-- Reads request input using UTF-8 encoding --> 
    <filter> 
    <filter-name>characterEncodingFilter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
     <param-name>forceEncoding</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    </filter> 
    <filter-mapping> 
    <filter-name>characterEncodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    </filter-mapping> 

<!-- Handles all requests into the application --> 
    <servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value> 
       /WEB-INF/dispatcher-servlet.xml 
      </param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 

    <listener> 
    <listener-class> 
      org.springframework.security.web.session.HttpSessionEventPublisher 
     </listener-class> 
    </listener> 

<!-- session timeout --> 
    <session-config> 
    <session-timeout>30</session-timeout> 
    </session-config> 

</web-app> 

Web-Applikation-context.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
         http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 
         http://www.springframework.org/schema/context 
         http://www.springframework.org/schema/context/spring-context-4.2.xsd"> 

    <!-- Properties loader --> 
    <bean id="properties" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="location" 
      value="/resources/conf/web-application-conf.properties" /> 
    </bean> 

    <!-- Application Message Bundle --> 
    <bean id="messageSource" 
     class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
     <property name="basename" value="/resources/messages/messages" /> 
     <property name="cacheSeconds" value="0" /> 
     <property name="fileEncodings" value="UTF-8"/> 
     <property name="defaultEncoding" value="UTF-8"/> 

    </bean> 

    <!-- Business bean --> 
    <bean id="emailManager" class="fr.lis.xper3.utils.EmailManager"> 
     <constructor-arg type="java.lang.String" value="${email.host}" /> 
     <constructor-arg type="java.lang.String" value="${email.username}" /> 
     <constructor-arg type="java.lang.String" value="${email.password}" /> 
     <property name="from" value="${email.from}" /> 
     <property name="messageSource" ref="messageSource" /> 
    </bean> 
    <bean id="errorMessageManager" class="fr.lis.xper3.utils.ErrorMessageManager"> 
     <property name="messageSource" ref="messageSource" /> 
    </bean> 

    <!-- Configure the multipart resolver --> 
    <bean id="multipartResolver" 
     class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
     <!-- one of the properties available; the maximum file size in bytes --> 
     <property name="maxUploadSize" value="52428800" /> 
    </bean> 

</beans> 

sicherheitsanwendungs ​​context.xml

<beans:beans xmlns="http://www.springframework.org/schema/security" 
    xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
        http://www.springframework.org/schema/security 
        http://www.springframework.org/schema/security/spring-security-4.1.xsd"> 
    <!-- http://www.springframework.org/schema/security/spring-security-3.2.xsd --> 

    <!-- disable all security filtering for resources --> 
    <http pattern="/resources/**" security="none" /> 
    <http pattern="/favicon.ico" security="none" /> 


    <http use-expressions="true"> 
     <intercept-url pattern="/" access="permitAll" /> 
     <intercept-url pattern="/auth*" access="permitAll" /> 
     <intercept-url pattern="/user*" access="permitAll" /> 
     <intercept-url pattern="/admin*" access="hasRole('ROLE_ADMIN')" /> 
     <intercept-url pattern="/**" access="hasRole('ROLE_USER')" /> 
     <intercept-url pattern="/robot.txt" access="permitAll" /> 
     <form-login login-page="/authlogin" default-target-url="/kbEdition" 
      authentication-failure-url="/authloginfailed" /> 
     <logout logout-success-url="/" /> 

     <custom-filter position="CONCURRENT_SESSION_FILTER" ref="concurrencyFilter" /> 
     <!-- <custom-filter position="FORM_LOGIN_FILTER" ref="myAuthFilter" /> --> 
     <session-management 
      session-authentication-strategy-ref="sas" /> 
     <csrf disabled="true" /> 
    </http> 

    <beans:bean id="concurrencyFilter" class="org.springframework.security.web.session.ConcurrentSessionFilter"> 
     <!-- <beans:property name="sessionRegistry" ref="sessionRegistry" /> SB--> 
     <beans:constructor-arg ref="sessionRegistry"/> 
    <!-- <beans:property name="expiredUrl" value="/session-expired.htm" /> SB--> 
    </beans:bean> 

<!-- SB C New --> 
    <beans:bean id="sas" class="org.springframework.security.web.authentication.session.CompositeSessionAuthenticationStrategy"> 
     <beans:constructor-arg> 
      <beans:list> 
       <beans:bean class="org.springframework.security.web.authentication.session.ConcurrentSessionControlAuthenticationStrategy"> 
        <beans:constructor-arg ref="sessionRegistry"/> 
        <beans:property name="maximumSessions" value="1" /> 
       </beans:bean> 
       <beans:bean class="org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy"/> 
       <beans:bean class="org.springframework.security.web.authentication.session.RegisterSessionAuthenticationStrategy"> 
        <beans:constructor-arg ref="sessionRegistry"/> 
       </beans:bean> 
      </beans:list> 
     </beans:constructor-arg> 
    </beans:bean> 
<!-- END C New --> 


    <beans:bean id="sessionRegistry" 
     class="org.springframework.security.core.session.SessionRegistryImpl" /> 

    <beans:bean id="xper3AuthenticationProvider" 
     class="fr.lis.xper3.security.Xper3AuthenticationProvider"></beans:bean> 

    <authentication-manager alias="authenticationManager"><!-- New for rest : alias="authenticationManager" --> 
     <authentication-provider ref='xper3AuthenticationProvider'> 
     </authentication-provider> 
    </authentication-manager> 

</beans:beans> 

Vielen Dank für Ihre Hilfe. Vielleicht brauchst du andere Dateien? Sylvain

+0

Mein Problem wurde dank dieses Fehlers gelöst, die mich auf den guten Weg gebracht: – snib

Antwort

5

Mein Problem wurde dank dieser Fehler behoben, der mich auf die gute Art und Weise setzen:

root cause 
java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected 

In meinem Dispatcher-servlet.xml ich die folgende Basis-Paket Linie, die mit tomcat gut funktioniert hatte 7 :

<context:component-scan base-package="." /> 

In der Tat, mit tomcat8, müssen Sie offensichtlich ein einzigartiges identifizierbares Paket wie "org.yourcompany" anzuzeigen. Und wenn Sie wie ich ein Paket nicht identifizierbar haben, könnten Sie diesen Fehler bekommen. Also in meinem Fall musste ich zu ändern:

<context:component-scan base-package="fr.lis" />