@Override
public void commit(boolean ddl, String allLocalTransactionNames) {
if (this.transaction != null) {
try {
//避免重复commit
Transaction transaction = this.transaction;
this.transaction = null;
if (allLocalTransactionNames == null)
allLocalTransactionNames = transaction.getAllLocalTransactionNames();
List<Future<Void>> futures = null;
if (!getAutoCommit() && sessionRemoteCache.size() > 0)
futures = parallelCommitOrRollback(allLocalTransactionNames);
transaction.commit(allLocalTransactionNames);
super.commit(ddl);
if (futures != null)
waitFutures(futures);
} finally {