1

您好,当我尝试监视哪个集群 oam 服务器在线和离线时遇到问题我使用 aSDK 中 AccessClient 类的 getServerDiagnosticInfo() 方法,但返回的 Hashtable 仅包含密钥(服务器的名称和端口) 和包含另一个 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 属性:[]

谢谢你的帮助 !!!

4

1 回答 1

0

使用 getServerDiagnosticInfo() 获取 OAM 服务器主机和端口后。尝试远程登录(我不是 Java 专家,以下链接可能对如何使用 java (Sockets) 连接/远程登录到 SPOP3 服务器?),如果服务器启动,远程登录会话将建立。

于 2014-12-16T14:08:49.777 回答