End the transaction. If the environment is configured for synchronous commit, the transaction will be committed synchronously to stable storage before the call returns. This means the transaction will exhibit all of the ACID (atomicity, consistency, isolation, and durability) properties.
If the environment is not configured for synchronous commit, the commit will not necessarily have been committed to stable storage before the call returns. This means the transaction will exhibit the ACI (atomicity, consistency, and isolation) properties, but not D (durability); that is, database integrity will be maintained, but it is possible this transaction may be undone during recovery.
All cursors opened within the transaction must be closed before the transaction is committed.
If the method encounters an error, the transaction will have been aborted when the call returns.
After this method has been called, regardless of its return, the {@link Transaction} handle may not be accessed again, with oneexception: the {@code abort} method may be called any number of timesto simplify error handling.
@throws com.sleepycat.je.rep.InsufficientReplicasException if the masterin a replicated environment could not contact a quorum of replicas as determined by the {@link ReplicaAckPolicy}.
@throws com.sleepycat.je.rep.InsufficientAcksException if the master ina replicated environment did not receive enough replica acknowledgments, although the commit succeeded locally.
@throws com.sleepycat.je.rep.ReplicaWriteException if a write operationwas performed with this transaction, but this node is now a Replica.
@throws OperationFailureException if this exception occurred earlier andcaused the transaction to be invalidated.
@throws EnvironmentFailureException if an unexpected, internal orenvironment-wide failure occurs.
@throws IllegalStateException if the transaction or environment has beenclosed, or cursors associated with the transaction are still open.