2011-11-30 16 views
29

Estoy recibiendo el siguiente error al intentar ejecutar un proyecto con la primavera y el resorte de seguridad (que estaba funcionando antes de agregar la seguridad de primavera):java.lang.IllegalStateException: ApplicationEventMulticaster no inicializado

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Wed Nov 30 10:49:27 CST 2011]; root of context hierarchy 
    at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:337) 
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:324) 
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1025) 
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:988) 
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:538) 
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142) 
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4174) 
    at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4778) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4675) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:519) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

¿El Alguien sabe por qué? No he encontrado nada en el interverse .. aquí está mi web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<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-3.1.xsd 
         http://www.springframework.org/schema/security 
         http://www.springframework.org/schema/security/spring-security-3.0.xsd"> 
    <http use-expressions="true"> 
     <intercept-url pattern="/login" access="permitAll" /> 
     <intercept-url pattern="/**" access="isAuthenticated()" /> 
     <form-login login-page="/login" /> 
    </http> 
    <authentication-manager> 
     <authentication-provider> 
      <password-encoder hash="md5"/> 
      <user-service> 
       <user name="rod" password="a564de63c2d0da68cf47586ee05984d7" authorities="ROLE_SUPERVISOR, ROLE_USER, ROLE_TELLER" /> 
       <user name="dianne" password="65d15fe9156f9c4bbffd98085992a44e" authorities="ROLE_USER,ROLE_TELLER" /> 
       <user name="scott" password="2b58af6dddbd072ed27ffc86725d7d3a" authorities="ROLE_USER" /> 
       <user name="peter" password="22b5c9accc6e1ba628cedc63a72d57f8" authorities="ROLE_USER" /> 
      </user-service> 
     </authentication-provider> 
    </authentication-manager> 
</beans:beans> 

Se dará cuenta de que es similar a the tutorial. He oído que este problema podría ser un error. Además, hasta donde sé, he agregado los archivos necesarios y la configuración ... pero eso también podría ser un problema. Finalmente estoy usando spring-beans-3.1.xsd y spring-security-3.0.xsd porque coinciden con la versión mayor/menor de los frascos que tengo.

+0

¿Ha habilitado el registro DEBUG completo en org.springframework? Eso debería decirle exactamente quién está tratando de transmitir qué evento. ¿Qué otros archivos de configuración de primavera están trayendo? ¿Qué versiones de Spring Framework and Security estás usando? –

+0

No estoy seguro de cómo habilitar el inicio de sesión en la primavera. Estoy usando spring 3.1.0RC1 y spring-security 3.0.7 – Josh

+0

Resultó ser un problema jar, agregué las jarras relevantes y las cosas funcionan ahora :) – Josh

Respuesta

-41

Me faltaban algunas jarras de seguridad de primavera. Simplemente no pensar en que cuando vi IllegalStateException

+29

¿Qué jar falta? ¿Puedes compartirlos todos? Obtuve el mismo error pero no puedo entender qué es lo que falta ... – Osify

+1

¿Alguna respuesta sobre qué son esos JAR? – Ram

+2

¿Qué faltan jarras? –

10

añadir a su pom.xml. Esto resolverá el problema

<dependency> 
    <groupId>cglib</groupId> 
    <artifactId>cglib</artifactId> 
    <version>2.2.2</version> 
</dependency> 
+0

Esto resolvió mi problema .. . Gracias. –

+0

gracias, resolvió mi problema. – ali

+20

¿Puedes explicar por qué esto resolverá el problema? – carpinchosaurio

Cuestiones relacionadas