Spring aop:scoped-proxy会话bean。它不会调用destroy-method

时间:2014-10-27 02:27:55

标签: spring session scope

这是我的bean定义:

<bean id="securitySession" 
name="securitySession,authorizer,authenticator,logAuditor"
class="com.ats_connection.webframework.core.security.SecuritySession" 
scope="session" 
destroy-method="logout">
<aop:scoped-proxy />
</bean>    

但是使用scoped-proxy时,不会调用logout方法。

如果我不使用scoped-proxy,则destroy-method称为ok。

<bean id="asecProxy" class="com.ats_connection.webframework.core.security.AsecWSProxy" scope="session" destroy-method="destroy"/>

1 个答案:

答案 0 :(得分:0)

我找到了一个使用SessionListener的解决方案。在sessionDestroyed方法中:

securitySession = (SecuritySession) session.getAttribute("scopedTarget.securitySession");
securitySession.logout();    

注意键&#34; scopedTarget.securitySession&#34;而不是&#34; securitySession&#34;。

关心每个人!