Здравствуйте, у меня проблема, когда я пытаюсь отслеживать, какой из серверов oam кластера находится в сети и в автономном режиме. Я использую метод getServerDiagnosticInfo() класса AccessClient из aSDK, но возвращаемая хэш-таблица содержит только ключи (имя и порт сервера). ) и значения, которые содержат другую HashTable (ObKeyMapVal подтип HashTable), но я думаю, что этот объект должен содержать информацию о работоспособности, порте сервера, имени сервера и количестве подключений, как указано в документе API, но когда я печатаю его размер и содержимое печатает только "0" и [] (пусто)
фрагмент:
try{
AccessClient ac = AccessClient.createDefaultInstance("/dir",AccessClient.CompatibilityMode.OAM_10G);
Hashtable info = ac.getServerDiagnosticInfo();
Set<?> servers = info.keySet();
Collection<?> serverInfo = info.values();
System.out.println("Num of servers: " + servers.size());
Iterator it = servers.iterator();
Object servidor = null;
Object dato = null;
while(it.hasNext()){
servidor = it.next();
System.out.println("Server: " + servidor);
dato = info.get(servidor);
System.out.println("Data: " + dato);
ObKeyValMap ob = (ObKeyValMap) dato;
System.out.println("Size: " + ob.keySet().size());
System.out.println("Is Empty: " + ob.keySet().isEmpty());
System.out.println("Properties: " + ob.keySet());
}
ac.shutdown();
} catch (oracle.security.am.asdk.AccessException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
И получил следующий вывод:
Количество серверов: 2
Сервер: myserver1.com5575 Данные: {} Размер: 0 Пусто: true Свойства: []
Сервер: myserver2.com5575 Данные: {} Размер: 0 Пусто: true Свойства: []
Спасибо за вашу помощь !!!