示例#1
0
 @Override
 public TransactionInfo getTransactionInfo() {
   final TransactionInfo info = _transactionInfoCache;
   if (System.currentTimeMillis() - info.getAcquisitionTime() > MAX_STALE) {
     final List<Transaction> transactions = new ArrayList<Transaction>();
     synchronized (info) {
       info.commitCount = 0;
       info.rollbackCount = 0;
       info.rollbackSinceCommitCount = 0;
       _persistit.populateTransactionList(transactions);
       for (final Transaction txn : transactions) {
         info.commitCount += txn.getCommittedTransactionCount();
         info.rollbackCount += txn.getRolledBackTransactionCount();
         info.rollbackSinceCommitCount += txn.getRolledBackSinceLastCommitCount();
       }
       info.updateAcquisitonTime();
     }
   }
   return info;
 }