我正在使用ViJava 5.5-beta。 例如,我想查找名称中包含“SQL”的所有VM。 要搜索我得到“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"))......
}
答案 0 :(得分:1)
您正在做的事情是最好的方式。没有办法将过滤器传递给服务器,以便在服务器端进行过滤,而您使用的方法是属性收集器,只获取“name”属性,因此它是最有效的。
只是一个建议:yavijava是替代vijava的开源代码,完全支持vSphere 6.0我们拥有一个活跃的社区和vijava缺少的许多增强功能。