Multiple PersistenceManagers
A PersistenceManager supports
one transaction and uses one connection to the underlying datastore at a
time. A PersistenceManager might use
multiple transactions serially, and it might use multiple connections in
the datastore serially.
But you may want to perform multiple transactions concurrently.
You can do this by instantiating multiple PersistenceManager instances. Each will have
its own Transaction instance. Each
call to PersistenceManagerFactory.getPersistenceManager(
) returns a new PersistenceManager instance. Each persistent
instance in the JVM is associated with a single PersistenceManager. Multiple PersistenceManager instances may have their
own separate copy of the same datastore instance. A common
application-programming technique is to have a separate thread or thread
group for each PersistenceManager
that is managing a set of instances.
You can also use multiple PersistenceManager instances from different
JDO implementations in the same JVM. This is how things operate in an
application-server environment, where each active session has its own
transaction. Each active session has its own PersistenceManager instance. Because of JDO’s
binary compatibility capabilities, these PersistenceManager instances can manipulate
instances of the same persistent classes.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access