Guest User

Untitled

a guest
May 27th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1.  
  2. public class KindergartenManager extends BaseManager {
  3. static final int SLEEP_PERIOD = 1000; // was 100
  4. static final int MAX_RETRIES = 100; // was 10
  5. TreeSet<KindergartenManager> otherChildren;
  6. /** Creates new Kindergarten manager */
  7. public KindergartenManager() {
  8. super();
  9. otherChildren = new TreeSet<KindergartenManager>();
  10. otherChildren.add(this);
  11. }
  12.  
  13. @Override
  14. public void resolveConflict(Transaction me, Transaction other) {
  15. try {
  16. KindergartenManager otherManager =
  17. (KindergartenManager) other.getContentionManager();
  18. // first, check sharing records.
  19. if (otherChildren.contains(otherManager)) {
  20. otherChildren.remove(otherManager);
  21. other.abort(); // My turn! My turn!
  22. return;
  23. }
  24. else { otherChildren.add(otherManager); }
  25. me.abort(); // give up
  26. return;
  27. } catch (ClassCastException e) {
  28. other.abort(); // Oh, other not a Kindergartener. Kill it.
  29. return;
  30. }
  31. }}
Add Comment
Please, Sign In to add comment