org.springframework.orm.jpa
Class SharedEntityManagerCreator.SharedEntityManagerInvocationHandler

java.lang.Object
  extended by org.springframework.orm.jpa.SharedEntityManagerCreator.SharedEntityManagerInvocationHandler
All Implemented Interfaces:
java.io.Serializable, java.lang.reflect.InvocationHandler
Enclosing class:
SharedEntityManagerCreator

private static class SharedEntityManagerCreator.SharedEntityManagerInvocationHandler
extends java.lang.Object
implements java.lang.reflect.InvocationHandler, java.io.Serializable

Invocation handler that delegates all calls to the current transactional EntityManager, if any; else, it will fall back to a newly created EntityManager per operation.


Field Summary
private  Log logger
           
private  java.util.Map properties
           
private  java.lang.ClassLoader proxyClassLoader
           
private  EntityManagerFactory targetFactory
           
 
Constructor Summary
SharedEntityManagerCreator.SharedEntityManagerInvocationHandler(EntityManagerFactory target, java.util.Map properties)
           
 
Method Summary
private  void initProxyClassLoader()
           
 java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
           
private  void readObject(java.io.ObjectInputStream ois)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private final Log logger

targetFactory

private final EntityManagerFactory targetFactory

properties

private final java.util.Map properties

proxyClassLoader

private transient volatile java.lang.ClassLoader proxyClassLoader
Constructor Detail

SharedEntityManagerCreator.SharedEntityManagerInvocationHandler

public SharedEntityManagerCreator.SharedEntityManagerInvocationHandler(EntityManagerFactory target,
                                                                       java.util.Map properties)
Method Detail

initProxyClassLoader

private void initProxyClassLoader()

invoke

public java.lang.Object invoke(java.lang.Object proxy,
                               java.lang.reflect.Method method,
                               java.lang.Object[] args)
                        throws java.lang.Throwable
Specified by:
invoke in interface java.lang.reflect.InvocationHandler
Throws:
java.lang.Throwable

readObject

private void readObject(java.io.ObjectInputStream ois)
                 throws java.io.IOException,
                        java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException