All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.logicbus.backend.ServantPool Maven / Gradle / Ivy

There is a newer version: 1.6.16
Show newest version
package com.logicbus.backend;

import com.alogic.metrics.stream.MetricsReportable;
import com.anysoft.util.Reportable;
import com.logicbus.models.servant.ServiceDescription;



/**
 * 服务资源池
 * 
 * @author duanyy
 * @version 1.2.2 [20140617 duanyy]
 * - 改进同步模型
 * 
 * @version 1.2.5 [20140722 duanyy]
 * - Servant的destroy方法变更为close
 * 
 * @version 1.2.6 [20140807 duanyy]
 * - 变更为interface
 * 
 * @version 1.2.8.2 [20141014 duanyy]
 * - 扩展Reportable
 * - 扩展MetricsReportable
 * 
 * @version 1.2.9.1 [201e41017 duanyy]
 * - 减少getStat方法
 * 
 * @version 1.6.4.31 [20160129 duanyy] 
* - 改造计数器体系
* * @version 1.6.7.4 [20170118 duanyy]
* - 淘汰com.anysoft.metrics包 ,改用新的指标框架
* * @version 1.6.9.9 [20170829 duanyy]
* - Pool的returnObject接口增加是否出错的参数
*/ public interface ServantPool extends AutoCloseable,Reportable,MetricsReportable{ /** * 获得服务描述信息 * @return 服务描述信息 */ public ServiceDescription getDescription(); /** * 重置本服务池的服务信息 * @param sd 服务描述信息 */ public void reload(ServiceDescription sd); /** * 暂停本服务池的使用 */ public void pause(); /** * 恢复本服务池的使用 */ public void resume(); /** * 是否处于正常使用状态 * @return 如果当前服务池可使用,返回为true */ public boolean isRunning(); /** * 服务池访问一次 * @param duration 本次调用时长 * @param code 本次调用的结果代码 */ public void visited(long duration,String code); /** * 从服务池中借取服务对象 * @param priority 优先级 * @return 服务对象 */ public Servant borrowObject(int priority); /** * 向服务池归还对象 * @param obj 服务对象 */ public void returnObject(Servant obj,boolean hasError); /** * 获取服务池的健康度 * @return 健康度分数,百分制 * * @since 1.6.4.31 */ public int getHealthScore(); /** * 获取服务池的活跃度 * @return 活跃度分数,百分制 * * @since 1.6.4.31 */ public int getActiveScore(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy