Package com.caucho.cloud.network

Examples of com.caucho.cloud.network.ClusterServer


  /**
   * Returns the tertiary if it is remote, i.e. not this server itself.
   */
  public final ClusterServer getTertiaryIfActiveRemote()
  {
    ClusterServer tertiary = _tertiary;

    if (tertiary == null)
      return null;
    else if (tertiary.isActiveRemote())
      return tertiary;
    else
      return null;
  }
View Full Code Here


  /**
   * Returns the best primary or secondary triad server.
   */
  public ClusterServer getActiveServer(ClusterServer oldServer)
  {
    ClusterServer server;
    ClientSocketFactory pool;

    server = _primary;
    pool = server != null ? server.getClusterSocketPool() : null;
   
    if (pool != null && pool.isActive() && server != oldServer)
      return server;

    server = _secondary;
    pool = server != null ? server.getClusterSocketPool() : null;
   
    if (pool != null && pool.isActive() && server != oldServer)
      return server;

    server = _tertiary;
    pool = server != null ? server.getClusterSocketPool() : null;
   
    if (pool != null && pool.isActive() && server != oldServer)
      return server;

    // force the send.  Server must be active, but pool may have a failure

    server = _primary;
    if (server != null && server.isHeartbeatActive()) {
      pool = server.getClusterSocketPool();
   
      if (pool != null && server != oldServer)
        return server;
    }

    server = _secondary;
    if (server != null && server.isHeartbeatActive()) {
      pool = server.getClusterSocketPool();
   
      if (pool != null && server != oldServer)
        return server;
    }

    server = _tertiary;
    if (server != null && server.isHeartbeatActive()) {
      pool = server.getClusterSocketPool();
   
      if (pool != null && server != oldServer)
        return server;
    }

View Full Code Here

  /**
   * Returns the best primary or secondary triad server.
   */
  public ClusterServer getActiveOrSelfServer(ClusterServer oldServer)
  {
    ClusterServer server;
    ClientSocketFactory pool;

    server = _primary;

    if (server != null) {
      pool = server.getClusterSocketPool();
   
    if (pool == null || pool.isActive() && server != oldServer)
      return server;
    }

    server = _secondary;
   
    if (server != null) {
      pool = server.getClusterSocketPool();
   
      if (pool == null || pool.isActive() && server != oldServer)
        return server;
    }

    server = _tertiary;

    if (server != null) {
      pool = server.getClusterSocketPool();
   
      if (pool == null || pool.isActive() && server != oldServer)
      return server;
    }

    // force the send

    server = _primary;
    pool = server != null ? server.getClusterSocketPool() : null;
   
    if (pool != null && server != oldServer)
      return server;

    server = _secondary;
    pool = server != null ? server.getClusterSocketPool() : null;
   
    if (pool != null && server != oldServer)
      return server;

    server = _tertiary;
    pool = server != null ? server.getClusterSocketPool() : null;
   
    if (pool != null && server != oldServer)
      return server;

    return null;
View Full Code Here

    int p = address.indexOf('@');
   
    if (p > 0)
      address = address.substring(p + 1);
   
    ClusterServer clusterServer = findServerByAddress(address);
   
    if (clusterServer != null)
      clusterServer.getClusterSocketPool().wake();
  }
View Full Code Here

      = new ArrayList<ClusterServerMXBean>();

    for (CloudPod pod : _cluster.getPodList()) {
      for (CloudServer server : pod.getServerList()) {
        if (server != null) {
          ClusterServer clusterServer = server.getData(ClusterServer.class);

          if (clusterServer != null)
            serverMBeansList.add(clusterServer.getAdmin());
        }
      }
    }

    ClusterServerMXBean []serverMBeans
View Full Code Here

    _drivers = drivers;
    _backupDrivers = backupDrivers;

    Server server = Server.getCurrent();
    if (server != null) {
      ClusterServer selfServer = server.getSelfServer();

      if (selfServer != null && _drivers.length > 1)
        _roundRobin = selfServer.getIndex() % _drivers.length;
    }
  }
View Full Code Here

   * Finds the first server with the given server-id.
   */
  public ClusterServer findServer(String id)
  {
    for (ClusterPod pod : getPodList()) {
      ClusterServer server = pod.findServer(id);

      if (server != null)
        return server;
    }

View Full Code Here

   * Finds the first server with the given server-id.
   */
  public ClusterServer findServerByPrefix(String prefix)
  {
    for (ClusterPod pod : getPodList()) {
      ClusterServer server = pod.findServerByPrefix(prefix);

      if (server != null)
        return server;
    }

View Full Code Here

   * Finds the first server with the given server-id.
   */
  public ClusterServer findServer(String address, int port)
  {
    for (ClusterPod pod : getPodList()) {
      ClusterServer server = pod.findServer(address, port);

      if (server != null)
        return server;
    }

View Full Code Here

    validateServerCluster();
   
    NetworkClusterSystem networkService =
      NetworkClusterSystem.createAndAddService(_selfServer);
   
    ClusterServer server = _selfServer.getData(ClusterServer.class);
   
    LoadBalanceService.createAndAddService(createLoadBalanceFactory());
   
    BamSystem.createAndAddService(server.getBamAdminName());
   
    DeployControllerService.createAndAddService();
   
    initRepository();
  
View Full Code Here

TOP

Related Classes of com.caucho.cloud.network.ClusterServer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.