gpt4 book ai didi

Spring session 处理: HttpSessionDestroyedEvent not received

转载 作者:行者123 更新时间:2023-12-04 04:06:43 34 4
gpt4 key购买 nike

我有一个Web应用程序,在web.xml中,我已将HttpSessionEventPublisher添加为监听器。该Web应用程序在Jetty 7.x上运行,我们正在使用Spring 3.1.1。

这应该将HttpSessionCreatedEventHttpSessionDestroyedEvent触发到Spring上下文事件监听器。

我有一个实现@Controller的Bean(ApplicationListener<ApplicationEvent>)。 ApplicationEventHttpSessionCreatedEventHttpSessionDestroyedEvent的常见父类。现在,当我登录到Web应用程序或从Web应用程序注销时,我希望这些事件会触发到onApplicationEvent(ApplicationEvent event)方法。我收到了其他事件,例如某些请求处理事件,但是未显示预期的事件。我已经跟踪了一下应用程序,HttpSessionEventPublisher确实将事件触发到了上下文,但是没有接近监听器。我在这里想念什么?

最佳答案

问题是HttpSessionEventPublisher根据Javadoc在“Spring Root WebApplicationContext”上发布事件,这是通过web.xml文件中的ContextLoaderListener条目注册的应用程序上下文。另一方面,您的@Controller可能是通过不同的应用程序上下文一起注册的-通过DispatcherServlet注册的。因此,我建议您创建一个不同的ApplicationListener,将其注册到Root WebapplicationContext,然后事件就会通过。

关于Spring session 处理: HttpSessionDestroyedEvent not received,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12810153/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com