2016-04-22 57 views
0

是否可以將Session Listener(HttpSessionListener的實現)註冊爲Spring Bean? 我的工作實現增加聽衆BootStrap.groovy中Grails - 將SessionListener註冊爲Spring Bean

def init = { servletContext -> 
     servletContext.addListener(userLoginSessionListener) 
} 

在servlet上下文但這會導致我的集成測試失敗,一個UnsupportedOperationException(將爲此創造另一個問題)

現在,我有以下幾點in resources.groovy

userLoginSessionListener(UserLoginSessionListener) 

但現在我的sessionCreated和sessionDestroyed方法不再被觸發。

回答

1

不得不走老式的路線。 刪除了bean定義和BootStrap.groovy配置,並通過_Events.groovy中的eventWebXmlEnd處理程序添加了偵聽器,這與我們的集成測試非常相稱。

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