|
spring-orm | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.orm.jdo.support.SpringPersistenceManagerProxyBean
public class SpringPersistenceManagerProxyBean
Proxy that implements the PersistenceManager
interface,
delegating to the current thread-bound PersistenceManager (the Spring-managed
transactional PersistenceManager or the single OpenPersistenceManagerInView
PersistenceManager, if any) on each invocation. This class makes such a
Spring-style PersistenceManager proxy available for bean references.
The main advantage of this proxy is that it allows DAOs to work with a
plain JDO PersistenceManager reference in JDO 2.1 style
(see PersistenceManagerFactory.getPersistenceManagerProxy()
),
while still participating in Spring's resource and transaction management.
The behavior of this proxy matches the behavior that the JDO 2.1 spec
defines for a PersistenceManager proxy. Hence, DAOs could seamlessly switch
between StandardPersistenceManagerProxyBean
and this Spring-style proxy,
receiving the reference through Dependency Injection. This will work without
any Spring API dependencies in the DAO code!
Note: In contrast to StandardPersistenceManagerProxyBean
, this proxy
works with JDO 2.0 and higher. It does not require JDO 2.1.
StandardPersistenceManagerProxyBean
,
PersistenceManagerFactory.getPersistenceManagerProxy()
,
PersistenceManagerFactoryUtils.getPersistenceManager(javax.jdo.PersistenceManagerFactory, boolean)
,
PersistenceManagerFactoryUtils.releasePersistenceManager(javax.jdo.PersistenceManager, javax.jdo.PersistenceManagerFactory)
Constructor Summary | |
---|---|
SpringPersistenceManagerProxyBean()
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
|
protected JdoDialect |
getJdoDialect()
Return the JDO dialect to use for this proxy. |
javax.jdo.PersistenceManager |
getObject()
|
java.lang.Class<? extends javax.jdo.PersistenceManager> |
getObjectType()
|
protected javax.jdo.PersistenceManagerFactory |
getPersistenceManagerFactory()
Return the target PersistenceManagerFactory for this proxy. |
protected java.lang.Class<? extends javax.jdo.PersistenceManager> |
getPersistenceManagerInterface()
Return the PersistenceManager interface to expose. |
protected boolean |
isAllowCreate()
Return whether the PersistenceManagerFactory proxy is allowed to create a non-transactional PersistenceManager when no transactional PersistenceManager can be found for the current thread. |
boolean |
isSingleton()
|
void |
setAllowCreate(boolean allowCreate)
Set whether the PersistenceManagerFactory proxy is allowed to create a non-transactional PersistenceManager when no transactional PersistenceManager can be found for the current thread. |
void |
setJdoDialect(JdoDialect jdoDialect)
Set the JDO dialect to use for this proxy. |
void |
setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)
Set the target PersistenceManagerFactory for this proxy. |
void |
setPersistenceManagerInterface(java.lang.Class<? extends javax.jdo.PersistenceManager> persistenceManagerInterface)
Specify the PersistenceManager interface to expose, possibly including vendor extensions. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SpringPersistenceManagerProxyBean()
Method Detail |
---|
public void setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory persistenceManagerFactory)
protected javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()
public void setJdoDialect(JdoDialect jdoDialect)
Default is a DefaultJdoDialect based on the PersistenceManagerFactory's underlying DataSource, if any.
protected JdoDialect getJdoDialect()
public void setPersistenceManagerInterface(java.lang.Class<? extends javax.jdo.PersistenceManager> persistenceManagerInterface)
Default is the standard javax.jdo.PersistenceManager
interface.
protected java.lang.Class<? extends javax.jdo.PersistenceManager> getPersistenceManagerInterface()
public void setAllowCreate(boolean allowCreate)
Default is "true". Can be turned off to enforce access to
transactional PersistenceManagers, which safely allows for DAOs
written to get a PersistenceManager without explicit closing
(i.e. a PersistenceManagerFactory.getPersistenceManager()
call without corresponding PersistenceManager.close()
call).
PersistenceManagerFactoryUtils.getPersistenceManager(javax.jdo.PersistenceManagerFactory, boolean)
protected boolean isAllowCreate()
public void afterPropertiesSet()
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
public javax.jdo.PersistenceManager getObject()
getObject
in interface org.springframework.beans.factory.FactoryBean<javax.jdo.PersistenceManager>
public java.lang.Class<? extends javax.jdo.PersistenceManager> getObjectType()
getObjectType
in interface org.springframework.beans.factory.FactoryBean<javax.jdo.PersistenceManager>
public boolean isSingleton()
isSingleton
in interface org.springframework.beans.factory.FactoryBean<javax.jdo.PersistenceManager>
|
spring-orm | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |