1 package com.quadcap.sql.lock; 2 3 40 41 import com.quadcap.util.collections.LongMap; 42 43 import com.quadcap.util.Debug; 44 import com.quadcap.util.Util; 45 46 51 public class TransactionPool extends ObjectPool { 52 55 LongMap map = new LongMap(13); 56 57 60 public TransactionPool() { 61 super(new Transaction()); 62 } 63 64 67 public PooledObject get(long transId) { 68 Transaction trans = (Transaction)map.get(transId); 69 if (trans == null) { 70 trans = (Transaction)(super.get()); 71 trans.init(transId); 72 map.put(transId, trans); 73 } 74 return trans; 75 } 76 77 81 public Transaction find(long transId) { 82 return (Transaction)map.get(transId); 83 } 84 85 88 public void release(Transaction t) { 89 map.remove(t.transactionId); 90 t.wait = null; 91 super.release(t); 92 } 93 } 94 | Popular Tags |