xmlwebapplicationcontext util support springframework org lorg jee delegatingvariableresolver contextloaderlistener context bbva arqspringcontextloaderlistener arq java spring

java - util - ¿Diferencia entre ContextLoaderListener y RequestContextListener?



org.springframework.web.context.contextloaderlistener jar (4)

ContextLoaderListener es un agente de escucha de inicio para iniciar el WebApplicationContext de Spring.

RequestContextListener se usa cuando desea que los atributos en el hilo de su solicitud permanezcan vivos.

El punto que se debe tener en cuenta aquí es que, el indicador heredable se establece en falso en el RequestContextListener.

http://docs.spring.io/spring/docs/4.0.6.RELEASE/javadoc-api/org/springframework/web/context/request/RequestContextListener.html

Por lo tanto, si desea que un subproceso secundario herede los atributos de la solicitud, debe intentar usar RequestContextFilter o RequestContextHolder.

http://docs.spring.io/spring/docs/4.0.6.RELEASE/javadoc-api/org/springframework/web/filter/RequestContextFilter.html

Lo he buscado en Google pero no he encontrado una respuesta satisfactoria, sería genial si ustedes pudieran explicar la diferencia entre ContextLoaderListener y RequestContextListener .


He leído que si usa ContextLoaderListener no necesita RequestContextListener o Filter. Registra la solicitud actual (atributos) en un subproceso local para que los proxies con alcance puedan usarlo.


Si usa un contenedor web Servlet 2.5, con las solicitudes procesadas fuera de DispatcherServlet de Spring (por ejemplo, cuando usa JSF o Struts), debe registrar el org.springframework.web.context.request.RequestContextListener ServletRequestListener. Para Servlet 3.0+, esto puede hacerse mediante programación a través de la interfaz de WebApplicationInitializer. Alternativamente, o para contenedores más antiguos, agregue la siguiente declaración al archivo web.xml de su aplicación web:

<listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> </web-app>