[
https://issues.apache.org/jira/browse/JDO-735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14545765#comment-14545765
]
Craig L Russell commented on JDO-735:
-------------------------------------
The specification is silent on the subject of PM.close() when a transaction is
active.
I think we need to add this behavior in light of auto-close.
I'd think that if a transaction is active, close should roll back the
transaction and complete normally.
Consider this use-case:
// this will either update the objects or throw an optimistic exception
try (PersistenceManger pm = pmf.getPersistenceManager()) {
pm.currentTransaction().begin(); // optimistic
// do some updates to some objects
pm.currentTransaction().commit();
}
What we want to allow the user to do is to avoid all the work to figure out how
to clean up the persistence manager in case of an error.
> Make PersistenceManager and Query support AutoCloseable (JDK1.7+)
> -----------------------------------------------------------------
>
> Key: JDO-735
> URL: https://issues.apache.org/jira/browse/JDO-735
> Project: JDO
> Issue Type: New Feature
> Components: api, specification, tck
> Reporter: Andy Jefferson
> Fix For: JDO 3.2
>
>
> So then it can be used with JDK1.7+ try-with-resources, as per
> http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)