private void checkNewTransactionFails(Object key) throws NotSupportedException, SystemException, HeuristicMixedException, HeuristicRollbackException { EmbeddedTransactionManager otherTM = embeddedTm(OTHER_INDEX); otherTM.begin(); otherCache.put(key, "should fail"); try { otherTM.commit(); fail("RollbackException should have been thrown here."); } catch (RollbackException e) { //expected } }
private void doAfterCompletionFailTest(Collection<RegisterTransaction> registerTransactionCollection) throws Exception { EmbeddedTransactionManager transactionManager = EmbeddedTransactionManager.getInstance(); transactionManager.begin(); for (RegisterTransaction registerTransaction : registerTransactionCollection) { registerTransaction.register(transactionManager); } transactionManager.commit(); assertData(); assertNoTxInAllCaches(); assertNull(transactionManager.getTransaction()); }
if (useTx) { try { mgr.commit(); } catch (Exception e1) {
private void doCommitWithRollbackExceptionTest(Collection<RegisterTransaction> registerTransactionCollection) throws Exception { EmbeddedTransactionManager transactionManager = EmbeddedTransactionManager.getInstance(); transactionManager.begin(); for (RegisterTransaction registerTransaction : registerTransactionCollection) { registerTransaction.register(transactionManager); } try { transactionManager.commit(); AssertJUnit.fail("RollbackException expected!"); } catch (RollbackException e) { //expected } assertEmpty(); assertNoTxInAllCaches(); assertNull(transactionManager.getTransaction()); }
private void doCommitWithHeuristicExceptionTest(Collection<RegisterTransaction> registerTransactionCollection) throws Exception { EmbeddedTransactionManager transactionManager = EmbeddedTransactionManager.getInstance(); transactionManager.begin(); for (RegisterTransaction registerTransaction : registerTransactionCollection) { registerTransaction.register(transactionManager); } try { transactionManager.commit(); AssertJUnit.fail("HeuristicMixedException expected!"); } catch (HeuristicMixedException e) { //expected } assertData(); assertNoTxInAllCaches(); assertNull(transactionManager.getTransaction()); }
EmbeddedTransactionManager.getInstance().begin(); cache.get(fqn, "key"); EmbeddedTransactionManager.getInstance().commit(); EmbeddedTransactionManager.getInstance().begin(); cache.put(fqn, "key", "Value"); EmbeddedTransactionManager.getInstance().commit(); EmbeddedTransactionManager.getInstance().begin(); cache.remove(fqn, "key"); EmbeddedTransactionManager.getInstance().commit();
public void testVisibilityOfCommittedDataPut() throws Exception { Cache<String, String> c = lockTestData.cache; c.put("k", "v"); assertEquals("v", c.get("k")); // start a tx and read K lockTestData.tm.begin(); assertEquals("v", c.get("k")); assertEquals("v", c.get("k")); Transaction reader = lockTestData.tm.suspend(); lockTestData.tm.begin(); c.put("k", "v2"); Transaction writer = lockTestData.tm.suspend(); lockTestData.tm.resume(reader); assertEquals("Should not read uncommitted data", "v", c.get("k")); reader = lockTestData.tm.suspend(); lockTestData.tm.resume(writer); lockTestData.tm.commit(); lockTestData.tm.resume(reader); assertEquals("Should read committed data", "v2", c.get("k")); lockTestData.tm.commit(); }
public void testVisibilityOfCommittedDataReplace() throws Exception { Cache<String, String> c = lockTestData.cache; c.put("k", "v"); assertEquals("v", c.get("k")); // start a tx and read K lockTestData.tm.begin(); assertEquals("v", c.get("k")); assertEquals("v", c.get("k")); Transaction reader = lockTestData.tm.suspend(); lockTestData.tm.begin(); c.replace("k", "v2"); Transaction writer = lockTestData.tm.suspend(); lockTestData.tm.resume(reader); assertEquals("Should not read uncommitted data", "v", c.get("k")); reader = lockTestData.tm.suspend(); lockTestData.tm.resume(writer); lockTestData.tm.commit(); lockTestData.tm.resume(reader); assertEquals("Should read committed data", "v2", c.get("k")); lockTestData.tm.commit(); }
public void testReadOnlyResource() throws Exception { //test for ISPN-2813 EmbeddedTransactionManager transactionManager = EmbeddedTransactionManager.getInstance(); transactionManager.begin(); cacheManager.<String, String>getCache(SYNC_CACHE_NAME).put(KEY, VALUE); cacheManager.<String, String>getCache(XA_CACHE_NAME).put(KEY, VALUE); transactionManager.getTransaction().enlistResource(new ReadOnlyXaResource()); transactionManager.commit(); assertData(); assertNoTxInAllCaches(); assertNull(transactionManager.getTransaction()); }
cache(2).put(migratedKey, "someValue"); try { embeddedTm(2).commit(); fail("RollbackException should have been thrown here."); } catch (RollbackException e) {
public void testLocksOnPutKeyVal() throws Exception { Cache<String, String> cache = lockTestData.cache; EmbeddedTransactionManager tm = lockTestData.tm; tm.begin(); cache.put("k", "v"); assertTrue(tm.getTransaction().runPrepare()); assertLocked("k"); tm.getTransaction().runCommit(false); assertNoLocks(); tm.begin(); assertEquals("v", cache.get("k")); assertNotLocked("k"); tm.commit(); assertNoLocks(); tm.begin(); cache.remove("k"); assertTrue(tm.getTransaction().runPrepare()); assertLocked("k"); tm.getTransaction().runCommit(false); assertNoLocks(); }
@Override public void testLocksOnPutKeyVal() throws Exception { LockTestData tl = lockTestData; Cache<String, String> cache = tl.cache; EmbeddedTransactionManager tm = tl.tm; tm.begin(); cache.put("k", "v"); tm.getTransaction().runPrepare(); assertLocked("k"); tm.getTransaction().runCommit(false); tm.suspend(); assertNoLocks(); tm.begin(); assertEquals(cache.get("k"), "v"); assertNotLocked("k"); tm.commit(); assertNoLocks(); tm.begin(); cache.remove("k"); tm.getTransaction().runPrepare(); assertLocked("k"); tm.getTransaction().runCommit(false); assertNoLocks(); }