Package ome.tools.hibernate
Class SessionHandler
- java.lang.Object
-
- ome.tools.hibernate.SessionHandler
-
- All Implemented Interfaces:
org.aopalliance.aop.Advice,org.aopalliance.intercept.Interceptor,org.aopalliance.intercept.MethodInterceptor,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware
public class SessionHandler extends java.lang.Object implements org.aopalliance.intercept.MethodInterceptor, org.springframework.context.ApplicationContextAwareinterceptor which delegates toHibernateInterceptorfor stateless services but which keeps aWeakHashMapof sessions keyed by the stateful service reference. original idea from: http://opensource2.atlassian.com/confluence/spring/pages/viewpage.action?pageId=1447 See also: http://sourceforge.net/forum/message.php?msg_id=2455707 http://forum.springframework.org/archive/index.php/t-10344.html http://opensource2.atlassian.com/projects/spring/browse/SPR-746 and these: http://www.hibernate.org/43.html#A5 http://www.carbonfive.com/community/archives/2005/07/ive_been_meanin.html http://www.hibernate.org/377.html- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description SessionHandler(org.hibernate.SessionFactory factory)Constructor taking aSessionFactory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanThread()protected java.lang.ObjectgetThis(org.aopalliance.intercept.MethodInvocation invocation)java.lang.Objectinvoke(org.aopalliance.intercept.MethodInvocation invocation)delegates toHibernateInterceptoror manages sessions internally, based on the type of service.protected voidputStatus(org.aopalliance.intercept.MethodInvocation invocation, ome.tools.hibernate.SessionStatus status)protected ome.tools.hibernate.SessionStatusremoveStatus(org.aopalliance.intercept.MethodInvocation invocation)voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext)
-
-
-
Method Detail
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException- Specified by:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware- Throws:
org.springframework.beans.BeansException
-
getThis
protected java.lang.Object getThis(org.aopalliance.intercept.MethodInvocation invocation)
-
putStatus
protected void putStatus(org.aopalliance.intercept.MethodInvocation invocation, ome.tools.hibernate.SessionStatus status)
-
removeStatus
protected ome.tools.hibernate.SessionStatus removeStatus(org.aopalliance.intercept.MethodInvocation invocation)
-
cleanThread
public void cleanThread()
-
invoke
public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation invocation) throws java.lang.Throwabledelegates toHibernateInterceptoror manages sessions internally, based on the type of service.- Specified by:
invokein interfaceorg.aopalliance.intercept.MethodInterceptor- Throws:
java.lang.Throwable
-
-