如何在ViJava中通过正则表达式搜索ManagedEntity

时间:2015-07-30 09:12:21

标签: java sdk vmware vsphere

我正在使用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"))......
}

1 个答案:

答案 0 :(得分:1)

您正在做的事情是最好的方式。没有办法将过滤器传递给服务器,以便在服务器端进行过滤,而您使用的方法是属性收集器,只获取“name”属性,因此它是最有效的。

只是一个建议:yavijava是替代vijava的开源代码,完全支持vSphere 6.0我们拥有一个活跃的社区和vijava缺少的许多增强功能。