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.
Por lo tanto, si desea que un subproceso secundario herede los atributos de la solicitud, debe intentar usar RequestContextFilter o RequestContextHolder.
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>
contextloaderlistener : - contextloaderlistener arranque para iniciar WebApplicationContext de Spring. Simplemente delegados a ContextLoader.
requestcontextlistener: - Este agente de escucha se utiliza principalmente con servlets de terceros, por ejemplo, el FacesServlet JSF. Dentro del soporte web de Spring, el procesamiento de DispatcherServlet es perfectamente suficiente.