public class SessionHandler extends java.lang.Object implements MethodInterceptor, org.springframework.context.ApplicationContextAware
HibernateInterceptor
for stateless
services but which keeps a WeakHashMap
of 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.htmlConstructor and Description |
---|
SessionHandler(org.hibernate.SessionFactory factory)
Constructor taking a
SessionFactory . |
Modifier and Type | Method and Description |
---|---|
void |
cleanThread() |
protected java.lang.Object |
getThis(MethodInvocation invocation) |
java.lang.Object |
invoke(MethodInvocation invocation)
delegates to
HibernateInterceptor or manages sessions internally,
based on the type of service. |
protected void |
putStatus(MethodInvocation invocation,
ome.tools.hibernate.SessionStatus status) |
protected ome.tools.hibernate.SessionStatus |
removeStatus(MethodInvocation invocation) |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
public SessionHandler(org.hibernate.SessionFactory factory)
SessionFactory
.
A new HibernateInterceptor
will be created.factory
- Not null.public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
setApplicationContext
in interface org.springframework.context.ApplicationContextAware
org.springframework.beans.BeansException
protected java.lang.Object getThis(MethodInvocation invocation)
protected void putStatus(MethodInvocation invocation, ome.tools.hibernate.SessionStatus status)
protected ome.tools.hibernate.SessionStatus removeStatus(MethodInvocation invocation)
public void cleanThread()
public java.lang.Object invoke(MethodInvocation invocation) throws java.lang.Throwable
HibernateInterceptor
or manages sessions internally,
based on the type of service.invoke
in interface MethodInterceptor
java.lang.Throwable
Version: 5.4.4-ice35-b82
Copyright © 2018 The University of Dundee & Open Microscopy Environment. All Rights Reserved.