org.elasticsearch.transport.TransportService.handshake()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(9.4k)|赞(0)|评价(0)|浏览(102)

本文整理了Java中org.elasticsearch.transport.TransportService.handshake()方法的一些代码示例,展示了TransportService.handshake()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TransportService.handshake()方法的具体详情如下:
包路径:org.elasticsearch.transport.TransportService
类名称:TransportService
方法名:handshake

TransportService.handshake介绍

[英]Executes a high-level handshake using the given connection and returns the discovery node of the node the connection was established with. The handshake will fail if the cluster name on the target node mismatches the local cluster name.
[中]使用给定的连接执行高级握手,并返回建立连接的节点的发现节点。如果目标节点上的群集名称与本地群集名称不匹配,握手将失败。

代码示例

代码示例来源:origin: org.elasticsearch/elasticsearch

/**
 * Executes a high-level handshake using the given connection
 * and returns the discovery node of the node the connection
 * was established with. The handshake will fail if the cluster
 * name on the target node mismatches the local cluster name.
 *
 * @param connection       the connection to a specific node
 * @param handshakeTimeout handshake timeout
 * @return the connected node
 * @throws ConnectTransportException if the connection failed
 * @throws IllegalStateException if the handshake failed
 */
public DiscoveryNode handshake(
    final Transport.Connection connection,
    final long handshakeTimeout) throws ConnectTransportException {
  return handshake(connection, handshakeTimeout, clusterName::equals).discoveryNode;
}

代码示例来源:origin: org.elasticsearch/elasticsearch

public CheckedBiConsumer<Transport.Connection, ConnectionProfile, IOException> connectionValidator(DiscoveryNode node) {
  return (newConnection, actualProfile) -> {
    // We don't validate cluster names to allow for CCS connections.
    final DiscoveryNode remote = handshake(newConnection, actualProfile.getHandshakeTimeout().millis(), cn -> true).discoveryNode;
    if (validateConnections && node.equals(remote) == false) {
      throw new ConnectTransportException(node, "handshake failed. unexpected remote node " + remote);
    }
  };
}

代码示例来源:origin: org.elasticsearch/elasticsearch

public Connection getOrConnect(DiscoveryNode node) throws IOException {
  Connection result;
  try (Releasable ignore = connectionLock.acquire(node.getAddress())) {
    result = tempConnections.get(node.getAddress());
    if (result == null) {
      ensureOpen();
      boolean success = false;
      logger.trace("[{}] opening connection to [{}]", id(), node);
      result = transportService.openConnection(node, connectionProfile);
      try {
        transportService.handshake(result, connectionProfile.getHandshakeTimeout().millis());
        synchronized (this) {
          // acquire lock and check if closed, to prevent leaving an open connection after closing
          ensureOpen();
          Connection existing = tempConnections.put(node.getAddress(), result);
          assert existing == null;
          success = true;
        }
      } finally {
        if (success == false) {
          logger.trace("[{}] closing connection to [{}] due to failure", id(), node);
          IOUtils.closeWhileHandlingException(result);
        }
      }
    }
  }
  return result;
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

/**
 * Executes a high-level handshake using the given connection
 * and returns the discovery node of the node the connection
 * was established with. The handshake will fail if the cluster
 * name on the target node mismatches the local cluster name.
 *
 * @param connection       the connection to a specific node
 * @param handshakeTimeout handshake timeout
 * @return the connected node
 * @throws ConnectTransportException if the connection failed
 * @throws IllegalStateException if the handshake failed
 */
public DiscoveryNode handshake(
    final Transport.Connection connection,
    final long handshakeTimeout) throws ConnectTransportException {
  return handshake(connection, handshakeTimeout, clusterName::equals).discoveryNode;
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

/**
 * Executes a high-level handshake using the given connection
 * and returns the discovery node of the node the connection
 * was established with. The handshake will fail if the cluster
 * name on the target node mismatches the local cluster name.
 *
 * @param connection       the connection to a specific node
 * @param handshakeTimeout handshake timeout
 * @return the connected node
 * @throws ConnectTransportException if the connection failed
 * @throws IllegalStateException if the handshake failed
 */
public DiscoveryNode handshake(
    final Transport.Connection connection,
    final long handshakeTimeout) throws ConnectTransportException {
  return handshake(connection, handshakeTimeout, clusterName::equals);
}

代码示例来源:origin: org.elasticsearch/elasticsearch

try {
  ConnectionProfile connectionProfile = connectionManager.getConnectionProfile();
  handshakeResponse = transportService.handshake(connection, connectionProfile.getHandshakeTimeout().millis(),
    (c) -> remoteClusterName.get() == null ? true : c.equals(remoteClusterName.get()));
} catch (IllegalStateException ex) {

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

public CheckedBiConsumer<Transport.Connection, ConnectionProfile, IOException> connectionValidator(DiscoveryNode node) {
  return (newConnection, actualProfile) -> {
    // We don't validate cluster names to allow for CCS connections.
    final DiscoveryNode remote = handshake(newConnection, actualProfile.getHandshakeTimeout().millis(), cn -> true).discoveryNode;
    if (validateConnections && node.equals(remote) == false) {
      throw new ConnectTransportException(node, "handshake failed. unexpected remote node " + remote);
    }
  };
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

public Connection getOrConnect(DiscoveryNode node) throws IOException {
  Connection result;
  try (Releasable ignore = connectionLock.acquire(node.getAddress())) {
    result = tempConnections.get(node.getAddress());
    if (result == null) {
      ensureOpen();
      boolean success = false;
      logger.trace("[{}] opening connection to [{}]", id(), node);
      result = transportService.openConnection(node, connectionProfile);
      try {
        transportService.handshake(result, connectionProfile.getHandshakeTimeout().millis());
        synchronized (this) {
          // acquire lock and check if closed, to prevent leaving an open connection after closing
          ensureOpen();
          Connection existing = tempConnections.put(node.getAddress(), result);
          assert existing == null;
          success = true;
        }
      } finally {
        if (success == false) {
          logger.trace("[{}] closing connection to [{}] due to failure", id(), node);
          IOUtils.closeWhileHandlingException(result);
        }
      }
    }
  }
  return result;
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

public Connection getOrConnect(DiscoveryNode node) throws IOException {
  Connection result;
  try (Releasable ignore = connectionLock.acquire(node.getAddress())) {
    result = tempConnections.get(node.getAddress());
    if (result == null) {
      ensureOpen();
      boolean success = false;
      logger.trace("[{}] opening connection to [{}]", id(), node);
      result = transportService.openConnection(node, connectionProfile);
      try {
        transportService.handshake(result, connectionProfile.getHandshakeTimeout().millis());
        synchronized (this) {
          // acquire lock and check if closed, to prevent leaving an open connection after closing
          ensureOpen();
          Connection existing = tempConnections.put(node.getAddress(), result);
          assert existing == null;
          success = true;
        }
      } finally {
        if (success == false) {
          logger.trace("[{}] closing connection to [{}] due to failure", id(), node);
          IOUtils.closeWhileHandlingException(result);
        }
      }
    }
  }
  return result;
}

代码示例来源:origin: apache/servicemix-bundles

public Connection getOrConnect(DiscoveryNode node) throws IOException {
  Connection result;
  try (Releasable ignore = connectionLock.acquire(node.getAddress())) {
    result = tempConnections.get(node.getAddress());
    if (result == null) {
      ensureOpen();
      boolean success = false;
      logger.trace("[{}] opening connection to [{}]", id(), node);
      result = transportService.openConnection(node, connectionProfile);
      try {
        transportService.handshake(result, connectionProfile.getHandshakeTimeout().millis());
        synchronized (this) {
          // acquire lock and check if closed, to prevent leaving an open connection after closing
          ensureOpen();
          Connection existing = tempConnections.put(node.getAddress(), result);
          assert existing == null;
          success = true;
        }
      } finally {
        if (success == false) {
          logger.trace("[{}] closing connection to [{}] due to failure", id(), node);
          IOUtils.closeWhileHandlingException(result);
        }
      }
    }
  }
  return result;
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

/**
 * Connect to the specified node with the given connection profile
 *
 * @param node the node to connect to
 * @param connectionProfile the connection profile to use when connecting to this node
 */
public void connectToNode(final DiscoveryNode node, ConnectionProfile connectionProfile) {
  if (isLocalNode(node)) {
    return;
  }
  transport.connectToNode(node, connectionProfile, (newConnection, actualProfile) -> {
    // We don't validate cluster names to allow for tribe node connections.
    final DiscoveryNode remote = handshake(newConnection, actualProfile.getHandshakeTimeout().millis(), cn -> true);
    if (node.equals(remote) == false) {
      throw new ConnectTransportException(node, "handshake failed. unexpected remote node " + remote);
    }
  });
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

boolean success = false;
try {
  handshakeNode = transportService.handshake(connection, remoteProfile.getHandshakeTimeout().millis(),
    (c) -> true);
  if (nodePredicate.test(handshakeNode) && connectedNodes.size() < maxNumRemoteConnections) {

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

try {
  try {
    handshakeResponse = transportService.handshake(connection, remoteProfile.getHandshakeTimeout().millis(),
      (c) -> remoteClusterName.get() == null ? true : c.equals(remoteClusterName.get()));
  } catch (IllegalStateException ex) {

代码示例来源:origin: apache/servicemix-bundles

try {
  try {
    handshakeResponse = transportService.handshake(connection, remoteProfile.getHandshakeTimeout().millis(),
      (c) -> remoteClusterName.get() == null ? true : c.equals(remoteClusterName.get()));
  } catch (IllegalStateException ex) {

代码示例来源:origin: apache/servicemix-bundles

final Transport.Connection connection,
  final long handshakeTimeout) throws ConnectTransportException {
return handshake(connection, handshakeTimeout, clusterName::equals).discoveryNode;

相关文章

微信公众号

最新文章

更多

TransportService类方法