我使用的是ViJava 5.5测试版。例如,我想查找名称中包含"SQL“的所有虚拟机。为了搜索,我得到所有"VirtalMachine“类型的ManagedEntities并迭代它们。你能告诉我,有没有什么快速的搜索方法可以做到这一点?
serviceInstance = new ServiceInstance(new URL(vCenter), Constants.USERNAME, Constants.PASSWORD, true);
Folder rootFolder = serviceInstance.getRootFolder();
ManagedEntity[] mes = new InventoryNavigator(rootFolder).searchManagedEntities("VirtualMachine");
for (ManagedEntity me : mes) {
// ....if (name.contains("SQL"))......
}发布于 2015-08-02 14:44:25
你所做的将是最好的方式。没有办法将过滤器传递到服务器,以便过滤发生在服务器端,而您正在使用的方法执行属性收集器,并且只获取"name“属性,因此它是最有效的。
建议一下:yavijava是一个完全支持vSphere 6.0的开源版本,完全支持vijava。我们有一个活跃的社区,有很多vijava所缺少的增强功能。
https://stackoverflow.com/questions/31719661
复制相似问题