javax.jdo.Transaction.rollback()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(5.6k)|赞(0)|评价(0)|浏览(112)

本文整理了Java中javax.jdo.Transaction.rollback()方法的一些代码示例,展示了Transaction.rollback()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Transaction.rollback()方法的具体详情如下:
包路径:javax.jdo.Transaction
类名称:Transaction
方法名:rollback

Transaction.rollback介绍

[英]Roll back the current transaction.
[中]回滚当前事务。

代码示例

代码示例来源:origin: apache/hive

doCommit = false;
 LOG.warn("Database initialization failed; direct SQL is disabled", ex);
 tx.rollback();
 return false;
} finally {

代码示例来源:origin: apache/hive

/**
 * Rolls back the current transaction if it is active
 */
@Override
public void rollbackTransaction() {
 if (openTrasactionCalls < 1) {
  debugLog("rolling back transaction: no open transactions: " + openTrasactionCalls);
  return;
 }
 debugLog("Rollback transaction, isActive: " + isActiveTransaction());
 try {
  if (isActiveTransaction() && transactionStatus != TXN_STATUS.ROLLBACK) {
   currentTransaction.rollback();
  }
 } finally {
  openTrasactionCalls = 0;
  transactionStatus = TXN_STATUS.ROLLBACK;
  // remove all detached objects from the cache, since the transaction is
  // being rolled back they are no longer relevant, and this prevents them
  // from reattaching in future transactions
  pm.evictAll();
 }
}

代码示例来源:origin: apache/hive

private boolean runTestQuery() {
 Transaction tx = pm.currentTransaction();
 boolean doCommit = false;
 if (!tx.isActive()) {
  tx.begin();
  doCommit = true;
 }
 Query query = null;
 // Run a self-test query. If it doesn't work, we will self-disable. What a PITA...
 String selfTestQuery = "select \"DB_ID\" from " + DBS + "";
 try {
  prepareTxn();
  query = pm.newQuery("javax.jdo.query.SQL", selfTestQuery);
  query.execute();
  return true;
 } catch (Throwable t) {
  doCommit = false;
  LOG.warn("Self-test query [" + selfTestQuery + "] failed; direct SQL is disabled", t);
  tx.rollback();
  return false;
 } finally {
  if (doCommit) {
   tx.commit();
  }
  if (query != null) {
   query.closeAll();
  }
 }
}

代码示例来源:origin: org.graniteds/granite-server

public void rollback(Object t) {
    ((Transaction)t).rollback();
  }
}

代码示例来源:origin: org.apache.isis.core/isis-core-runtime

public void abortTransaction() {
  final javax.jdo.Transaction transaction = persistenceManager.currentTransaction();
  if (transaction.isActive()) {
    transaction.rollback();
  }
}

代码示例来源:origin: tzaeschke/zoodb

public void rollback() {
  pm.currentTransaction().rollback();
  pm.currentTransaction().begin();
}

代码示例来源:origin: springframework/spring-orm

protected void doRollback(DefaultTransactionStatus status) {
  JdoTransactionObject txObject = (JdoTransactionObject) status.getTransaction();
  if (status.isDebug()) {
    logger.debug("Rolling back JDO transaction on PersistenceManager [" +
        txObject.getPersistenceManagerHolder().getPersistenceManager() + "]");
  }
  try {
    txObject.getPersistenceManagerHolder().getPersistenceManager().currentTransaction().rollback();
  }
  catch (JDOException ex) {
    throw new TransactionSystemException("Could not roll back JDO transaction", ex);
  }
}

代码示例来源:origin: tzaeschke/zoodb

public void close() {
  if (pm.currentTransaction().isActive()) {
    pm.currentTransaction().rollback();
  }
  pm.close();
  pm.getPersistenceManagerFactory().close();
}

代码示例来源:origin: tzaeschke/zoodb

/**
 * Close the database connection.
 * 
 * @param pm The current PersistenceManager.
 */
private static void closeDB(PersistenceManager pm) {
  if (pm.currentTransaction().isActive()) {
    pm.currentTransaction().rollback();
  }
  pm.close();
  pm.getPersistenceManagerFactory().close();
}

代码示例来源:origin: tzaeschke/zoodb

@Override
public void run() {
  try {
    pm.currentTransaction().begin();
    runWorker();
    pm.currentTransaction().rollback();
  } catch (Throwable t) {
    Test_024_MultiSessionConcurrency.errors.add(t);
    t.printStackTrace();
  } finally {
    closePM(pm);
  }
}

代码示例来源:origin: tzaeschke/zoodb

@After
public void after() {
  pm.currentTransaction().rollback();
  TestTools.closePM();
  pm = null;
}

代码示例来源:origin: tzaeschke/zoodb

@After
public void after() {
  pm.currentTransaction().rollback();
  TestTools.closePM();
  pm = null;
}

代码示例来源:origin: tzaeschke/zoodb

@After
public void after() {
  pm.currentTransaction().rollback();
  TestTools.closePM();
  pm = null;
}

代码示例来源:origin: tzaeschke/zoodb

@After
public void after() {
  pm.currentTransaction().rollback();
  TestTools.closePM();
  pm = null;
  TestTools.removeDb();
}

代码示例来源:origin: tzaeschke/zoodb

public void writeDB(String dbName) {
  ZooJdoProperties props = new ZooJdoProperties(dbName);
  PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(props);
  PersistenceManager pm = pmf.getPersistenceManager();
  try {
    pm.currentTransaction().begin();
    writeToXML(pm);
  } finally {
    pm.currentTransaction().rollback();
    pm.close();
    pmf.close();
  }
}

代码示例来源:origin: tzaeschke/zoodb

private static void safeClose(PersistenceManagerFactory pmf, PersistenceManager pm) {
  if (pm != null) {
    if (pm.currentTransaction().isActive()) {
      pm.currentTransaction().rollback();
    }
    pm.close();
  }
  if (pmf != null) {
    pmf.close();
  }
}

代码示例来源:origin: tzaeschke/zoodb

private static void closePM(PersistenceManager pm) {
  if (!pm.isClosed()) {
    if (pm.currentTransaction().isActive()) {
      pm.currentTransaction().rollback();
    }
    pm.close();
  }
}

代码示例来源:origin: tzaeschke/zoodb

@After
public void after() {
  if (pm != null && !pm.isClosed() && pm.currentTransaction().isActive()) {
    pm.currentTransaction().rollback();
  }
  TestTools.closePM();
  pm = null;
  TestTools.removeDb();
}

代码示例来源:origin: tzaeschke/zoodb

@Test
public void testPmAPI() {
  PersistenceManager pm = TestTools.openPM();
  pm.currentTransaction().begin();
  assertTrue(pm.getMultithreaded());
  
  pm.setMultithreaded(false);
  assertFalse(pm.getMultithreaded());
  
  pm.setMultithreaded(true);
  
  pm.currentTransaction().rollback();
  TestTools.closePM();
}

代码示例来源:origin: tzaeschke/zoodb

@Test(expected=UnsupportedOperationException.class)
public void testOptimistic() {
  PersistenceManager pm = TestTools.openPM();
  pm.currentTransaction().begin();
  
  //default
  assertFalse(pm.currentTransaction().getOptimistic());
  
  //should work fine
  pm.currentTransaction().setOptimistic(true);
  
  pm.currentTransaction().setOptimistic(false);
  
  pm.currentTransaction().rollback();
  TestTools.closePM();
}

相关文章