1. 程式人生 > >大發彩票平臺出租搭建

大發彩票平臺出租搭建

run res content 圖片 mark pri ktr ken result

大發彩票平臺出租搭建
1148916888.com

帶手機版。源碼開源。
技術分享圖片

根據實體對象的屬性獲取相關對象時,在虛擬機中,獲取的仍然可能是一個托管對象引用,如根據虛擬機的屬性runtime獲取到的VirtualMachineRuntimeInfo對象,要獲取該對象中的主機名,通過getHost()方法獲取的是host的一個ManagedObjectReference,這樣就需要進一步根據托管對象獲取其對應的實體名稱。

代碼如下:

/**

  • @Title: getObjectName
  • @Description: 根據托管對象引用獲取對象名稱
  • @param mor
  • @return
  • @throws Exception
  • @version 1.0*/
    @Override
    br/>*/
    @Override
    String objectName = null;
    // 遍歷屬性規範
    PropertySpec propSpec = new PropertySpec();
    propSpec.setAll(new Boolean(false));
    propSpec.getPathSet().add("name");
    propSpec.setType(mor.getType());

    ObjectSpec objSpec = new ObjectSpec();
    objSpec.setObj(mor);
    objSpec.setSkip(new Boolean(false));

    // 屬性過濾規範
    PropertyFilterSpec spec = new PropertyFilterSpec();
    spec.getPropSet().add(propSpec);
    spec.getObjectSet().add(objSpec);

    ArrayList<PropertyFilterSpec> listpfs = new ArrayList<PropertyFilterSpec>();
    listpfs.add(spec);

    List<ObjectContent> listobjcont = retrievePropertiesAllObjects(listpfs);

    if (listobjcont != null) {
    ObjectContent oc = listobjcont.get(0);
    objectName = (String) oc.getPropSet().get(0).getVal();
    }
    return objectName;
    }

根據屬性檢索要查詢的對象信息(該方法參考文章【1】):

/**

  • @Title: retrievePropertiesAllObjects
  • @Description: 根據屬性檢索要查詢的對象信息
  • @param listpfs
  • @return
  • @throws Exception
  • @version 1.0
    */
    private List<ObjectContent> retrievePropertiesAllObjects(List<PropertyFilterSpec> listpfs) throws Exception {
    RetrieveOptions propObjectRetrieveOpts = new RetrieveOptions();
    List<ObjectContent> listobjcontent = new ArrayList<>();
    VimPortType vimPortType = this.vmClientSession.getVimPortType();
    ServiceContent serviceContent = this.vmClientSession.getServiceContent();
    try {
    // 檢索屬性
    RetrieveResult rslts =
    vimPortType.retrievePropertiesEx(serviceContent.getPropertyCollector(), listpfs, propObjectRetrieveOpts);
    if (rslts != null && rslts.getObjects() != null && !rslts.getObjects().isEmpty()) {
    listobjcontent.addAll(rslts.getObjects());
    }
    String token = null;
    if (rslts != null && rslts.getToken() != null) {
    token = rslts.getToken();
    }
    while (token != null && !token.isEmpty()) {
    rslts = vimPortType.continueRetrievePropertiesEx(serviceContent.getPropertyCollector(), token);
    token = null;
    if (rslts != null) {
    token = rslts.getToken();
    if (rslts.getObjects() != null && !rslts.getObjects().isEmpty()) {
    listobjcontent.addAll(rslts.getObjects());
    }
    }
    }
    return listobjcontent;
    } catch (Throwable e) {
    e.printStackTrace();
    }
    }

大發彩票平臺出租搭建