【问题标题】:How to know which server is online or offline in a OAM cluster如何知道OAM集群中哪台服务器在线或离线
【发布时间】:2014-12-16 22:08:49
【问题描述】:

您好,当我尝试监控哪个集群 oam 服务器在线和离线时遇到问题我使用 aSDK 中 AccessClient 类的 getServerDiagnosticInfo() 方法,但返回的 Hashtable 仅包含密钥(名称和服务器端口)和包含另一个哈希表(ObKeyMapVal 哈希表的子类型)的值,但我认为该对象必须包含 API 文档中提到的运行状况、服务器端口、服务器名称和连接数,但是当我打印大小和它的内容只打印“0”和[](它是空的)

sn-p:

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 是否为空:真 属性:[]

服务器:myserver2.com5575 数据: {} 尺寸:0 是否为空:真 属性:[]

感谢您的帮助!!!

【问题讨论】:

    标签: oam


    【解决方案1】:

    使用 getServerDiagnosticInfo() 获取 OAM 服务器主机和端口后。尝试远程登录(我不是 Java 专家,以下链接可能对How to connect/telnet to SPOP3 server using java (Sockets)? 有所帮助),如果服务器已启动,则远程登录会话将建立。

    【讨论】:

      猜你喜欢
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多