[
https://issues.apache.org/jira/browse/OPENJPA-261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Teresa Kan closed OPENJPA-261.
------------------------------
Resolution: Fixed
It seems to me that the bug was fixed in the recent OPENJPA build. So close
this issue.
> UnsupportedOperationException occurred in BrokerImpl.java
> ---------------------------------------------------------
>
> Key: OPENJPA-261
> URL: https://issues.apache.org/jira/browse/OPENJPA-261
> Project: OpenJPA
> Issue Type: Bug
> Components: kernel
> Affects Versions: 0.9.7
> Environment: Window XP
> Reporter: Teresa Kan
> Priority: Critical
> Attachments: JIAR261_test.zip, NPE.patch, OPENJPA-261-Java5.jar,
> OPENJPA-261.patch
>
>
> While I was testing against the openjpa code, I got an
> UnsupportedOperationException in the BrokerImpl.endtransaction() method. The
> method set the transState to an empty Collection if there is no cache for
> transactions. Later the code got an UnsupportedOperationException.
> Original code:
> Collection transStates = _transCache;
> if (transStates == null)
> transStates = Collections.EMPTY_LIST;
> .....
> for (Iterator itr = transStates.iterator(); itr.hasNext();) {
> sm = (StateManagerImpl) itr.next();
> try {
> if (rollback) {
> // tell objects that may have been derefed then flushed
> // (and therefore deleted) to un-deref
> sm.setDereferencedDependent(false, false);
> sm.rollback();
> } else
> sm.commit();
> } catch (RuntimeException re) {
> exceps = add(exceps, re);
> }
> }
> I put a check before this "for" loop then the UnsupportedOperationException
> disappeared.
> if (!transStates.isEmpty()) {
> for (Iterator itr = transStates.iterator(); itr.hasNext();) {
> sm = (StateManagerImpl) itr.next();
> try {
> if (rollback) {
> // tell objects that may have been derefed then flushed
> // (and therefore deleted) to un-deref
> sm.setDereferencedDependent(false, false);
> sm.rollback();
> } else
> sm.commit();
> } catch (RuntimeException re) {
> exceps = add(exceps, re);
> }
> }
> }
> The NPE.patch is attached to this JIRA.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.