com.cloud.utils.db.Transaction类的使用及代码示例

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

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

Transaction介绍

暂无

代码示例

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

@Override
public QuotaBalanceVO saveQuotaBalance(final QuotaBalanceVO qb) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaBalanceVO>() {
    @Override
    public QuotaBalanceVO doInTransaction(final TransactionStatus status) {
      return persist(qb);
    }
  });
}

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

@Override
public List<QuotaAccountVO> listAllQuotaAccount() {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<List<QuotaAccountVO>>() {
    @Override
    public List<QuotaAccountVO> doInTransaction(final TransactionStatus status) {
      return listAll();
    }
  });
}

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

@Override
public QuotaAccountVO persistQuotaAccount(final QuotaAccountVO entity) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaAccountVO>() {
    @Override
    public QuotaAccountVO doInTransaction(final TransactionStatus status) {
      return persist(entity);
    }
  });
}

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

public static <T> T execute(final short databaseId, final TransactionCallback<T> callback) {
  return execute(databaseId, new TransactionCallbackWithException<T, RuntimeException>() {
    @Override
    public T doInTransaction(TransactionStatus status) throws RuntimeException {
      return callback.doInTransaction(status);
    }
  });
}

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

@Override
public QuotaAccountVO findByIdQuotaAccount(final Long id) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaAccountVO>() {
    @Override
    public QuotaAccountVO doInTransaction(final TransactionStatus status) {
      return findById(id);
    }
  });
}

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

@Override
public boolean updateQuotaAccount(final Long id, final QuotaAccountVO entity) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<Boolean>() {
    @Override
    public Boolean doInTransaction(final TransactionStatus status) {
      return update(id, entity);
    }
  });
}

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

@Override
public List<QuotaTariffVO> listAllTariffPlans() {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<List<QuotaTariffVO>>() {
    @Override
    public List<QuotaTariffVO> doInTransaction(final TransactionStatus status) {
      return listAll();
    }
  });
}

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

@Override
public QuotaUsageVO persistQuotaUsage(final QuotaUsageVO quotaUsage) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaUsageVO>() {
    @Override
    public QuotaUsageVO doInTransaction(final TransactionStatus status) {
      return persist(quotaUsage);
    }
  });
}

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

@Override
public Boolean updateQuotaTariff(final QuotaTariffVO plan) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<Boolean>() {
    @Override
    public Boolean doInTransaction(final TransactionStatus status) {
      return update(plan.getId(), plan);
    }
  });
}

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

public static <T> T execute(final TransactionCallback<T> callback) {
  return execute(new TransactionCallbackWithException<T, RuntimeException>() {
    @Override
    public T doInTransaction(TransactionStatus status) throws RuntimeException {
      return callback.doInTransaction(status);
    }
  });
}

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

public UsageVO persistUsage(final UsageVO usage) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<UsageVO>() {
    @Override
    public UsageVO doInTransaction(final TransactionStatus status) {
      return persist(usage);
    }
  });
}

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

@Override
  public boolean updateQuotaEmailTemplate(final QuotaEmailTemplatesVO template) {
    return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<Boolean>() {
      @Override
      public Boolean doInTransaction(final TransactionStatus status) {
        return update(template.getId(), template);
      }
    });
  }
}

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

@Override
public List<QuotaEmailTemplatesVO> listAllQuotaEmailTemplates(final String templateName) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<List<QuotaEmailTemplatesVO>>() {
    @Override
    public List<QuotaEmailTemplatesVO> doInTransaction(final TransactionStatus status) {
      SearchCriteria<QuotaEmailTemplatesVO> sc = QuotaEmailTemplateSearch.create();
      if (!Strings.isNullOrEmpty(templateName)) {
        sc.setParameters("template_name", templateName);
      }
      return listBy(sc);
    }
  });
}

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

@Override
  public QuotaCreditsVO saveCredits(final QuotaCreditsVO credits) {
    return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaCreditsVO>() {
      @Override
      public QuotaCreditsVO doInTransaction(final TransactionStatus status) {
        persist(credits);
        // make an entry in the balance table
        QuotaBalanceVO bal = new QuotaBalanceVO(credits);
        _quotaBalanceDao.persist(bal);
        return credits;
      }
    });
  }
}

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

@Override
public void resetVmPowerStateTracking(final long instanceId) {
  Transaction.execute(new TransactionCallbackNoReturn() {
    @Override
    public void doInTransactionWithoutResult(TransactionStatus status) {
      VMInstanceVO instance = findById(instanceId);
      if (instance != null) {
        instance.setPowerStateUpdateCount(0);
        instance.setPowerStateUpdateTime(DateUtil.currentGMTTime());
        update(instanceId, instance);
      }
    }
  });
}

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

private boolean removeVmSecondaryIpsOfNic(final long nicId) {
  Transaction.execute(new TransactionCallbackNoReturn() {
    @Override
    public void doInTransactionWithoutResult(final TransactionStatus status) {
      final List<NicSecondaryIpVO> ipList = _nicSecondaryIpDao.listByNicId(nicId);
      if (ipList != null) {
        for (final NicSecondaryIpVO ip : ipList) {
          _nicSecondaryIpDao.remove(ip.getId());
        }
        s_logger.debug("Revoving nic secondary ip entry ...");
      }
    }
  });
  return true;
}

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

private void executeExpireOwnershipSql(final String sql, final long resource) {
  Transaction.execute(new TransactionCallbackNoReturn() {
    @Override
    public void doInTransactionWithoutResult(TransactionStatus status) {
      TransactionLegacy txn = TransactionLegacy.currentTxn();
      try (final PreparedStatement pstmt = txn.prepareAutoCloseStatement(sql);) {
        pstmt.setLong(1, resource);
        pstmt.executeUpdate();
      } catch (SQLException e) {
        txn.rollback();
        LOG.warn("Failed to expire ownership for out-of-band management server id: " + resource);
      }
    }
  });
}

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

@Override
public QuotaUsageVO findLastQuotaUsageEntry(final Long accountId, final Long domainId, final Date beforeThis) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaUsageVO>() {
    @Override
    public QuotaUsageVO doInTransaction(final TransactionStatus status) {
      List<QuotaUsageVO> quotaUsageEntries = new ArrayList<>();
      Filter filter = new Filter(QuotaUsageVO.class, "startDate", false, 0L, 1L);
      QueryBuilder<QuotaUsageVO> qb = QueryBuilder.create(QuotaUsageVO.class);
      qb.and(qb.entity().getAccountId(), SearchCriteria.Op.EQ, accountId);
      qb.and(qb.entity().getDomainId(), SearchCriteria.Op.EQ, domainId);
      qb.and(qb.entity().getStartDate(), SearchCriteria.Op.LT, beforeThis);
      quotaUsageEntries = search(qb.create(), filter);
      return !quotaUsageEntries.isEmpty() ? quotaUsageEntries.get(0) : null;
    }
  });
}

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

@Override
  public void expireServerOwnership(final long serverId) {
    Transaction.execute(new TransactionCallbackNoReturn() {
      @Override
      public void doInTransactionWithoutResult(TransactionStatus status) {
        TransactionLegacy txn = TransactionLegacy.currentTxn();
        try (final PreparedStatement pstmt = txn.prepareAutoCloseStatement(EXPIRE_OWNERSHIP);) {
          pstmt.setLong(1, serverId);
          pstmt.executeUpdate();
        } catch (SQLException e) {
          txn.rollback();
          LOG.warn("Failed to expire HA ownership of management server id: " + serverId);
        }
      }
    });
  }
}

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

@Override
public QuotaBalanceVO findLaterBalanceEntry(final Long accountId, final Long domainId, final Date afterThis) {
  return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaBalanceVO>() {
    @Override
    public QuotaBalanceVO doInTransaction(final TransactionStatus status) {
      List<QuotaBalanceVO> quotaBalanceEntries = new ArrayList<>();
      Filter filter = new Filter(QuotaBalanceVO.class, "updatedOn", true, 0L, 1L);
      QueryBuilder<QuotaBalanceVO> qb = QueryBuilder.create(QuotaBalanceVO.class);
      qb.and(qb.entity().getAccountId(), SearchCriteria.Op.EQ, accountId);
      qb.and(qb.entity().getDomainId(), SearchCriteria.Op.EQ, domainId);
      qb.and(qb.entity().getCreditsId(), SearchCriteria.Op.EQ, 0);
      qb.and(qb.entity().getUpdatedOn(), SearchCriteria.Op.GT, afterThis);
      quotaBalanceEntries = search(qb.create(), filter);
      return quotaBalanceEntries.size() > 0 ? quotaBalanceEntries.get(0) : null;
    }
  });
}

相关文章

微信公众号

最新文章

更多

Transaction类方法