com.cloud.utils.db.Transaction.execute()方法的使用及代码示例

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

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

Transaction.execute介绍

暂无

代码示例

代码示例来源: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

@DB
protected void expungeAsyncJob(final AsyncJobVO job) {
  Transaction.execute(new TransactionCallbackNoReturn() {
    @Override
    public void doInTransactionWithoutResult(TransactionStatus status) {
      _jobDao.expunge(job.getId());
      // purge corresponding sync queue item
      _queueMgr.purgeAsyncJobQueueItemId(job.getId());
    }
  });
}

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

@Override
  public QuotaTariffVO addQuotaTariff(final QuotaTariffVO plan) {
    if (plan.getIdObj() != null) {
      throw new IllegalStateException("The QuotaTariffVO being added should not have an Id set ");
    }
    return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaTariffVO>() {
      @Override
      public QuotaTariffVO doInTransaction(final TransactionStatus status) {
        return persist(plan);
      }
    });
  }
}

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

@Override
@DB
public void persist(final long firewallRuleId, final List<String> destCidrs){
  Transaction.execute(new TransactionCallbackNoReturn() {
    @Override
    public void doInTransactionWithoutResult(TransactionStatus status) {
      for(String cidr: destCidrs){
        FirewallRulesDestCidrsVO vo = new FirewallRulesDestCidrsVO(firewallRuleId, cidr);
        persist(vo);
      }
    }
  });
}

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

@DB
protected VpcOffering createVpcOffering(final String name, final String displayText, final Multimap<Network.Service, Network.Provider> svcProviderMap, final boolean isDefault,
                    final VpcOffering.State state, final Long serviceOfferingId) {
  return Transaction.execute((TransactionCallback<VpcOffering>)status -> createVpcOfferingInTransaction(name, displayText, svcProviderMap, isDefault, state, serviceOfferingId));
}

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

@Override
@ActionEvent(eventType = EventTypes.EVENT_ROLE_PERMISSION_CREATE, eventDescription = "creating Role Permission")
public RolePermission createRolePermission(final Role role, final Rule rule, final RolePermission.Permission permission, final String description) {
  checkCallerAccess();
  return Transaction.execute(new TransactionCallback<RolePermissionVO>() {
    @Override
    public RolePermissionVO doInTransaction(TransactionStatus status) {
      return rolePermissionsDao.persist(new RolePermissionVO(role.getId(), rule.toString(), permission, description));
    }
  });
}

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

@DB
protected void updateVpcOffering(final VpcOffering offering, final Multimap<Network.Service, Network.Provider> svcProviderMap) {
  Transaction.execute((TransactionCallback<VpcOffering>)status -> updateVpcOfferingInTransaction(offering, svcProviderMap));
}

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

@DB
protected boolean savePublicIPRange(final String startIP, final String endIP, final long zoneId, final long vlanDbId, final long sourceNetworkid, final long physicalNetworkId, final boolean forSystemVms) {
  final long startIPLong = NetUtils.ip2Long(startIP);
  final long endIPLong = NetUtils.ip2Long(endIP);
  final List<String> problemIps = Transaction.execute(new TransactionCallback<List<String>>() {
    @Override
    public List<String> doInTransaction(final TransactionStatus status) {
      final IPRangeConfig config = new IPRangeConfig();
      return config.savePublicIPRange(TransactionLegacy.currentTxn(), startIPLong, endIPLong, zoneId, vlanDbId, sourceNetworkid, physicalNetworkId, forSystemVms);
    }
  });
  return problemIps != null && problemIps.size() == 0;
}

相关文章

微信公众号

最新文章

更多

Transaction类方法