您的位置:首页 > 编程语言 > Java开发

Vijava 学习笔记之(ResourcePool 关联VirtualMachine)

2015-05-21 15:55 477 查看
源代码:

Server:

package com.vmware.resourcepool;

import com.vmware.vim25.mo.*;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by vixuan-008 on 2015/5/21.
 */
public class ResourceVirtualMachine {
    public List<String> getVirtualMachine( ServiceInstance serviceInstance,String poolName){
        List<String> list=new ArrayList<String>();
        try{
            Folder rootFolder = serviceInstance.getRootFolder();
            ManagedEntity mes =new InventoryNavigator(rootFolder).searchManagedEntity("ResourcePool",poolName);
            if(mes!=null){
                ResourcePool pool=(ResourcePool)mes;
                VirtualMachine[] virtualMachines=pool.getVMs();
                if(virtualMachines!=null &&virtualMachines.length>0){
                    for(VirtualMachine virtualMachine:virtualMachines){
                        String virtualMachineName=virtualMachine.getName();
                        list.add(virtualMachineName);
                    }
                }
            }
        }catch (Exception e) {
            serviceInstance.getServerConnection().logout();
            return list;
        }finally {
            serviceInstance.getServerConnection().logout();
        }
        return list;
    }
}
Test:

package com.vmware.main;

import com.vmware.client.HostSystemVirtualMachine;
import com.vmware.resourcepool.ResourceVirtualMachine;
import com.vmware.util.Session;
import com.vmware.vim25.mo.ServiceInstance;

import java.util.List;

/**
 * Created by vixuan-008 on 2015/5/21.
 */
public class ResourceVirtualMachineTest {
    public static void main(String[] args){
        try{
            ServiceInstance serviceInstance= Session.getInstance("172.16.1.20", "root", "vmware");
            String poolName="vdi";
            ResourceVirtualMachine resourceVirtualMachine=new ResourceVirtualMachine();
            List<String> list=resourceVirtualMachine.getVirtualMachine(serviceInstance,poolName);
            if(list !=null && list.size()>0){
                for(int i=0;i<list.size();i++){
                    String hostName=list.get(i);
                    System.out.println("name is:"+hostName);
                }
            }else{
                System.out.println("list data is null or list.length is zero:");
            }

        }catch (Exception e){
            e.printStackTrace();
        }
    }
}


效果展示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: