public void testSeparateSessions() { ExtObjectContainer oc1 = openNewSession(); ExtObjectContainer oc2 = openNewSession(); try { ObjectSet os1 = oc1.query(Item.class); ObjectSet os2 = oc2.query(Item.class); deleteObjectSet(oc1, os1); assertOccurrences(oc1, Atom.class, 0); assertOccurrences(oc2, Atom.class, 1); deleteObjectSet(oc2, os2); assertOccurrences(oc1, Atom.class, 0); assertOccurrences(oc2, Atom.class, 0); oc1.rollback(); assertOccurrences(oc1, Atom.class, 1); assertOccurrences(oc2, Atom.class, 0); oc1.commit(); assertOccurrences(oc1, Atom.class, 1); assertOccurrences(oc2, Atom.class, 0); deleteAll(oc2, Item.class); oc2.commit(); assertOccurrences(oc1, Atom.class, 0); assertOccurrences(oc2, Atom.class, 0); } finally { oc1.close(); oc2.close(); } }
public void conc1(ExtObjectContainer oc) throws Exception { ObjectSet os = oc.query(Item.class); Thread.sleep(500); deleteObjectSet(oc, os); oc.rollback(); }