diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java index 0397ab97e..9b47499bf 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java @@ -1642,16 +1642,11 @@ public class BrokerImpl } /** - * Return whether the given transaction is ending, i.e. in the 2nd phase + * Return whether the current transaction is ending, i.e. in the 2nd phase * of a commit or rollback */ boolean isTransactionEnding() { - beginOperation(true); - try { - return (_flags & FLAG_TRANS_ENDING) != 0; - } finally { - endOperation(); - } + return (_flags & FLAG_TRANS_ENDING) != 0; } public boolean beginOperation(boolean syncTrans) { diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java index 9617c98ca..270b72447 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java @@ -823,9 +823,7 @@ public class StateManagerImpl if (field != -1 && _meta.getField(field).isPrimaryKey()) return; - boolean active = _broker.isActive(); - boolean ending = _broker.isTransactionEnding(); - if (active && !ending) { + if (_broker.isActive() && !_broker.isTransactionEnding()) { if (_broker.getOptimistic()) setPCState(_state.beforeOptimisticRead(this, field)); else