Grails - 将SessionListener注册为Spring Bean

时间:2016-04-22 17:20:07

标签: grails spring-security

是否可以将会话侦听器(HttpSessionListener的实现)注册为Spring Bean。 我的工作实现将监听器添加到BootStrap.groovy

中的servlet上下文中
def init = { servletContext ->
      servletContext.addListener(userLoginSessionListener)
}

但是这会导致我的集成测试失败并出现UnsupportedOperationException(将为此创建另一个问题)

现在我在resources.groovy

中有以下内容
userLoginSessionListener(UserLoginSessionListener)

但现在我的sessionCreated和sessionDestroyed方法不再被触发。

1 个答案:

答案 0 :(得分:1)

不得不走老式路线。 删除了bean定义和BootStrap.groovy配置,并通过_Events.groovy中的eventWebXmlEnd处理程序添加了监听器,该处理程序与我们的集成测试相得益彰。

<listener>
       <listener-class>com.example.UserLoginSessionListener</listener-class>
</listener>