[ 
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)

Reply via email to