package com.sohu.cache.entity; import com.sohu.cache.constant.InstanceStatusEnum; import com.sohu.cache.util.ConstUtils; import java.io.Serializable; /** * 实例信息 * User: lingguo * Date: 14-5-29 * Time: 下午9:38 */ public class InstanceInfo implements Serializable { private static final long serialVersionUID = -903896025243493024L; /** * 实例id */ private int id; /** * 应用id */ private long appId; /** * host id */ private long hostId; /** * ip */ private String ip; /** * 端口 */ private int port; /** * 是否启用 0:节点异常,1:正常启用,2:节点下线 */ private int status; /** * 开启的内存 */ private int mem; /** * 连接数 */ private int conn; /** * 启动命令 或者 redis-sentinel的masterName */ private String cmd; private int type; private String typeDesc; private int masterInstanceId; private String masterHost; private int masterPort; private String roleDesc; private int groupId; public int getId() { return id; } public void setId(int id) { this.id = id; } public long getAppId() { return appId; } public void setAppId(long appId) { this.appId = appId; } public long getHostId() { return hostId; } public void setHostId(long hostId) { this.hostId = hostId; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public int getMem() { return mem; } public void setMem(int mem) { this.mem = mem; } public int getConn() { return conn; } public void setConn(int conn) { this.conn = conn; } public String getCmd() { return cmd; } public void setCmd(String cmd) { this.cmd = cmd; } public int getType() { return type; } public void setType(int type) { this.type = type; } public String getTypeDesc() { if (type <= 0) { return ""; } else if (type == ConstUtils.CACHE_TYPE_REDIS_CLUSTER) { return "redis-cluster"; } else if (type == ConstUtils.CACHE_REDIS_SENTINEL) { return "redis-sentinel"; } else if (type == ConstUtils.CACHE_REDIS_STANDALONE) { return "redis-standalone"; } return ""; } @Override public String toString() { return "InstanceInfo{" + "id=" + id + ", appId=" + appId + ", hostId=" + hostId + ", ip='" + ip + '\'' + ", port=" + port + ", status=" + status + ", mem=" + mem + ", conn=" + conn + ", cmd='" + cmd + '\'' + ", type=" + type + ", group=" + groupId + '}'; } public int getMasterInstanceId() { return masterInstanceId; } public void setMasterInstanceId(int masterInstanceId) { this.masterInstanceId = masterInstanceId; } public String getMasterHost() { return masterHost; } public void setMasterHost(String masterHost) { this.masterHost = masterHost; } public int getMasterPort() { return masterPort; } public void setMasterPort(int masterPort) { this.masterPort = masterPort; } public int getGroupId() { return groupId; } public void setGroupId(int groupId) { this.groupId = groupId; } public String getStatusDesc() { InstanceStatusEnum instanceStatusEnum = InstanceStatusEnum.getByStatus(status); if (instanceStatusEnum != null) { return instanceStatusEnum.getInfo(); } return ""; } /** * 判断当前节点是否下线 * * @return */ public boolean isOffline() { if (status == InstanceStatusEnum.OFFLINE_STATUS.getStatus()) { return true; } return false; } public void setRoleDesc(Boolean isMaster) { if (isMaster == null) { roleDesc = "未知"; } else if (isMaster) { roleDesc = "master"; } else { roleDesc = "slave"; } } public String getRoleDesc() { if (type == ConstUtils.CACHE_REDIS_SENTINEL) { return "sentinel"; } else { return roleDesc; } } public String getHostPort() { return ip + ":" + port; } }