Трубопровод Дженкинса соединяет узел JPPF - PullRequest
0 голосов
/ 15 января 2019

Я работаю в проекте с использованием Jenkins и JPPF. Как узнать, какой узел подключен к серверу JPPF? Если возможно, пожалуйста, дайте мне подробности руководства. Спасибо,

1 Ответ

0 голосов
/ 16 января 2019

Отказ от ответственности: разработчик JPPF здесь.

Вы можете отслеживать узлы, подключенные к серверу JPPF, используя API управления сервером на основе JMX . Есть много вещей, которые вы можете отслеживать, и много различной информации, которую вы можете получить от сервера и узлов. Надеемся, что следующий пример даст вам хорошую отправную точку:

// connect using a JMX remote connection wrapper
try (JMXDriverConnectionWrapper serverJmx = new JMXDriverConnectionWrapper("jppf_server_host", 11111)) {
  serverJmx.connectAndWait(5_000L);
  if (serverJmx.isConnected()) {
    // get summary information on all the connected nodes
    Collection<JPPFManagementInfo> nodeInfos = serverJmx.nodesInformation();
    System.out.println("there are " + nodeInfos.size() + " connected nodes:");
    for (JPPFManagementInfo info: nodeInfos) {
      System.out.println("node uuid: " + info.getUuid() + ", host is " + info.getHost());
    }

    // get detailed information on the nodes
    // the node forwarder will send the same request to all selected nodes
    // and group the results in a map where each key is a node uuid
    JPPFNodeForwardingMBean forwarder = serverJmx.getNodeForwarder();
    Map<String, Object> responses = forwarder.systemInformation(NodeSelector.ALL_NODES);
    for (Map.Entry<String, Object> response: responses.entrySet()) {
      String nodeUuid = response.getKey();
      if (response.getValue() instanceof Exception) {
        System.out.println("node with uuid = " + nodeUuid + " raised an exception:");
        ((Exception) response.getValue()).printStackTrace(System.out);
      } else {
        JPPFSystemInformation systemInfo = (JPPFSystemInformation) response.getValue();
        System.out.println("system properties for node uuid " + nodeUuid + " :");
        System.out.println(systemInfo.getSystem());
      }
    }

  } else {
    System.out.println("could not connect to jppf_server_host:11111");
  }
} catch (Exception e) {
  e.printStackTrace();
}

Обратите внимание, что web и автономные консоли администрирования , построенные на основе одних и тех же API-интерфейсов управления, также будут предоставлять эту информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...