db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Watzek (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JDO-445) Add convenience method that returns a PersistenceManager proxy
Date Fri, 22 Dec 2006 15:00:25 GMT
    [ http://issues.apache.org/jira/browse/JDO-445?page=comments#action_12460509 ] 
Michael Watzek commented on JDO-445:

Hi Craig,

the patch looks good! Please find my comments below:

- PersistenceManagerProxies are cached using PMF instances as keys. Thus, you get the same
proxy for the same PMF. I think this pattern disallows applications to implementing a 1:1
mapping for servlets and PMFs because applications would retrieve the same proxy instance
with each (possibly concurrent) request.

- PersistenceManagerProxy.close() does nothing. This means that after calling close, it's
still possible to successfully call methods like makePersistent() etc. My understanding of
javax.jdo.PersistenceManager is that all methods throw exceptions after close() except for
isClosed(). Is it a goal to have the same behavior for the proxy class and javax.jdo.PersistenceManager?

- Why is getPersistenceManagerProxy() a static method on class PersistenceManagerProxy rather
than on class JDOHelper? This means that application code must import class PersistenceManagerProxy.
If the method is defined on JDOHelper then class PersistenceManagerProxy can have default
access modifier and the proxy class can be transparent to application code.

- Class PersistenceManagerProxy never calls remove on static field 'persistenceManagerProxies'.

- The JNDI lookup of TransactionSynchronizationRegistry is done in a static initializer which
may throw ExceptionInInitializerError. Would it make sense to do the lookup in getPersistenceManagerProxy()?


> Add convenience method that returns a PersistenceManager proxy
> --------------------------------------------------------------
>                 Key: JDO-445
>                 URL: http://issues.apache.org/jira/browse/JDO-445
>             Project: JDO
>          Issue Type: New Feature
>          Components: api2, api2-legacy
>            Reporter: Michelle Caisse
>         Assigned To: Craig Russell
>             Fix For: JDO 2 maintenance release 1
>         Attachments: PMProxy-patch.txt
> In Chapter 8, add a convenience method that returns a PersistenceManager proxy that can
be used in web and ejb containers to dynamically bind to the transaction-associated PersistenceManager.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message