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

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

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

Transaction.getOptimistic介绍

[英]Optimistic transactions do not hold data store locks until commit time.
[中]乐观事务在提交之前不会持有数据存储锁。

代码示例

代码示例来源:origin: jpox/jpox

/**
 * Method to transition when serialised.
 * @param sm State Manager
 * @return The new LifeCycle state
 */
public LifeCycleState transitionSerialize(StateManager sm)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (tx.isActive() && !tx.getOptimistic())
  {
    return changeState(sm, P_CLEAN);
  }
  return this;
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition when serialised.
 * @param sm State Manager
 * @return The new LifeCycle state
 */
public LifeCycleState transitionSerialize(StateManager sm)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (tx.isActive() && !tx.getOptimistic())
  {
    return changeState(sm, P_CLEAN);
  }
  return this;
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition when serialised.
 * @param sm State Manager
 * @return The new LifeCycle state
 */
public LifeCycleState transitionSerialize(StateManager sm)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (tx.isActive() && !tx.getOptimistic())
  {
    return changeState(sm, P_CLEAN);
  }
  return this;
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition when serialised.
 * @param sm State Manager
 * @return The new LifeCycle state
 */
public LifeCycleState transitionSerialize(StateManager sm)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (tx.isActive() && !tx.getOptimistic())
  {
    return changeState(sm, P_CLEAN);
  }
  return this;
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to retrieve state.
 * @param sm StateManager.
 * @param fetchPlan the fetch plan to load fields
 * @return new LifeCycle state.
 **/
public LifeCycleState transitionRetrieve(StateManager sm, FetchPlan fetchPlan)
{
  sm.loadUnloadedFieldsOfClassInFetchPlan(fetchPlan);
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (!tx.getOptimistic() && tx.isActive())
  {
    return changeState(sm, P_CLEAN);
  }
  else if (tx.getOptimistic())
  {
    return changeState(sm, P_NONTRANS);
  }
  return super.transitionRetrieve(sm, fetchPlan);
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to retrieve state.
 * @param sm StateManager.
 * @param fetchPlan the fetch plan to load fields
 * @return new LifeCycle state.
 **/
public LifeCycleState transitionRetrieve(StateManager sm, FetchPlan fetchPlan)
{
  sm.loadUnloadedFieldsOfClassInFetchPlan(fetchPlan);
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (!tx.getOptimistic() && tx.isActive())
  {
    return changeState(sm, P_CLEAN);
  }
  else if (tx.getOptimistic())
  {
    return changeState(sm, P_NONTRANS);
  }
  return super.transitionRetrieve(sm, fetchPlan);
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to retrieve state.
 * @param sm StateManager.
 * @param fgOnly only the current fetch group fields
 * @return new LifeCycle state.
 */
public LifeCycleState transitionRetrieve(StateManager sm, boolean fgOnly)
{
  if (fgOnly)
  {
    sm.loadUnloadedFieldsInFetchPlan();
  }
  else
  {
    sm.loadUnloadedFields();
  }
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (!tx.getOptimistic() && tx.isActive())
  {
    return changeState(sm, P_CLEAN);
  }
  else if (tx.getOptimistic())
  {
    return changeState(sm, P_NONTRANS);
  }
  return super.transitionRetrieve(sm, fgOnly);
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to retrieve state.
 * @param sm StateManager.
 * @param fgOnly only the current fetch group fields
 * @return new LifeCycle state.
 */
public LifeCycleState transitionRetrieve(StateManager sm, boolean fgOnly)
{
  if (fgOnly)
  {
    sm.loadUnloadedFieldsInFetchPlan();
  }
  else
  {
    sm.loadUnloadedFields();
  }
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (!tx.getOptimistic() && tx.isActive())
  {
    return changeState(sm, P_CLEAN);
  }
  else if (tx.getOptimistic())
  {
    return changeState(sm, P_NONTRANS);
  }
  return super.transitionRetrieve(sm, fgOnly);
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to read-field state.
 * @param sm StateManager.
 * @param isLoaded if the field was previously loaded
 * @return new LifeCycle state.
 */
public LifeCycleState transitionReadField(StateManager sm, boolean isLoaded)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (!tx.getOptimistic() && tx.isActive())
  {
    return changeState(sm, P_CLEAN);
  }
  else if (!tx.getOptimistic() && !tx.isActive())
  {
    if (!tx.getNontransactionalRead())
    {
      throw new JDOUserException(LOCALISER.msg("LifeCycle.HollowReadFieldNotAllowedNotActiveTx"), sm.getInternalObjectId());
    }
  }
  return changeState(sm, P_NONTRANS);
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to read-field state.
 * @param sm StateManager.
 * @param isLoaded if the field was previously loaded
 * @return new LifeCycle state.
 */
public LifeCycleState transitionReadField(StateManager sm, boolean isLoaded)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (!tx.getOptimistic() && tx.isActive())
  {
    return changeState(sm, P_CLEAN);
  }
  else if (!tx.getOptimistic() && !tx.isActive())
  {
    if (!tx.getNontransactionalRead())
    {
      throw new JDOUserException(LOCALISER.msg("LifeCycle.HollowReadFieldNotAllowedNotActiveTx"), sm.getInternalObjectId());
    }
  }
  return changeState(sm, P_NONTRANS);
}

代码示例来源:origin: jpox/jpox

query.getPersistenceManager().currentTransaction().getOptimistic() ||
fetchSize == FetchPlan.FETCH_SIZE_GREEDY)

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to retrieve state.
 * @param sm StateManager.
 * @param fetchPlan the fetch plan to load fields
 * @return new LifeCycle state.
 **/
public LifeCycleState transitionRetrieve(StateManager sm, FetchPlan fetchPlan)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (tx.isActive() && !tx.getOptimistic())
  {
    // Save the fields for rollback.
    sm.saveFields();
    sm.loadUnloadedFieldsOfClassInFetchPlan(fetchPlan);
    return changeState(sm, P_CLEAN);
  }
  else if (tx.isActive() && tx.getOptimistic())
  {
    // Save the fields for rollback.
    sm.saveFields();
    sm.loadUnloadedFieldsOfClassInFetchPlan(fetchPlan);
    return this;
  }
  else
  {
    sm.loadUnloadedFieldsOfClassInFetchPlan(fetchPlan);
    return this;
  }
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to retrieve state.
 * @param sm StateManager.
 * @param fetchPlan the fetch plan to load fields
 * @return new LifeCycle state.
 **/
public LifeCycleState transitionRetrieve(StateManager sm, FetchPlan fetchPlan)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (tx.isActive() && !tx.getOptimistic())
  {
    // Save the fields for rollback.
    sm.saveFields();
    sm.loadUnloadedFieldsOfClassInFetchPlan(fetchPlan);
    return changeState(sm, P_CLEAN);
  }
  else if (tx.isActive() && tx.getOptimistic())
  {
    // Save the fields for rollback.
    sm.saveFields();
    sm.loadUnloadedFieldsOfClassInFetchPlan(fetchPlan);
    return this;
  }
  else
  {
    sm.loadUnloadedFieldsOfClassInFetchPlan(fetchPlan);
    return this;
  }
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to refresh state.
 * @param sm StateManager.
 * @return new LifeCycle state.
 **/
public LifeCycleState transitionRefresh(StateManager sm)
{
  sm.clearSavedFields();
  sm.refreshFieldsInFetchPlan();
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (tx.isActive() && !tx.getOptimistic())
  {
    return changeState(sm,P_CLEAN);
  }
  return changeState(sm,P_NONTRANS);      
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to refresh state.
 * @param sm StateManager.
 * @return new LifeCycle state.
 **/
public LifeCycleState transitionRefresh(StateManager sm)
{
  sm.clearSavedFields();
  sm.refreshFieldsInFetchPlan();
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (tx.isActive() && !tx.getOptimistic())
  {
    return changeState(sm,P_CLEAN);
  }
  return changeState(sm,P_NONTRANS);      
}

代码示例来源:origin: jpox/jpox

if (tx.isActive() && !tx.getOptimistic())
else if (tx.isActive() && tx.getOptimistic())

代码示例来源:origin: jpox/jpox

if (tx.isActive() && !tx.getOptimistic())
else if (tx.isActive() && tx.getOptimistic())

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to read-field state.
 * @param sm StateManager.
 * @param isLoaded if the field was previously loaded.
 * @return new LifeCycle state.
 **/
public LifeCycleState transitionReadField(StateManager sm, boolean isLoaded)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (!tx.isActive() && !tx.getNontransactionalRead())
  {
    throw new JDOUserException(LOCALISER.msg("LifeCycle.PersistentNontransactionalReadFieldNotAllowedNotActiveTx"),sm.getInternalObjectId());
  }
  if (tx.isActive() && ! tx.getOptimistic())
  {
    // Save the fields for rollback.
    sm.saveFields();
    sm.refreshLoadedFields();
    return changeState(sm, P_CLEAN);
  }
  else
  {
    return this;
  }
}

代码示例来源:origin: jpox/jpox

/**
 * Method to transition to read-field state.
 * @param sm StateManager.
 * @param isLoaded if the field was previously loaded.
 * @return new LifeCycle state.
 **/
public LifeCycleState transitionReadField(StateManager sm, boolean isLoaded)
{
  Transaction tx = sm.getPersistenceManager().currentTransaction();
  if (!tx.isActive() && !tx.getNontransactionalRead())
  {
    throw new JDOUserException(LOCALISER.msg("LifeCycle.PersistentNontransactionalReadFieldNotAllowedNotActiveTx"),sm.getInternalObjectId());
  }
  if (tx.isActive() && ! tx.getOptimistic())
  {
    // Save the fields for rollback.
    sm.saveFields();
    sm.refreshLoadedFields();
    return changeState(sm, P_CLEAN);
  }
  else
  {
    return this;
  }
}

代码示例来源: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();
}

相关文章