存根类(stub) 是什么意思?有什么作用?(转)
存根类是一个类,它实现了一个接口,但是实现后的每个方法都是空的。
package com.utstar.omco.jnti.inc; public interface ITBusStub extends IEngineHandle
{
ITAclInterface getAclInterface();
void setName(String name);
String getUUID();
int generateSID();
int getSessionCount();
ITServerSession getSession(int sid);
ITServerSession[] getAllSession();
int delSession(int sid, ITableRegChange ic);
int _onRecvResult(Msg.MsgInfo msg);
Msg.MsgInfo _onNeedExec();
int _onRecvFromSession(ITServerSession s, Msg.MsgInfo msg);
int _onRegister(Msg.ReguestRegister reg, ITableRegChange ic);
void _onUpdateRegInfo(String src, ITableRegChange ic);
int _onAddSession(ITServerSession s);
}
public class BusStub extends AbsEngineHandle implements ITBusStub,IMonitor
{
public static interface MsgPriorityStrategy
{
public int onRecvResultPriority(Msg.MsgInfo msg);
public int onRecvFromSessionPriority(ITServerSession s, Msg.MsgInfo msg);
} public static class ResultPriorMsgPriorityStrategy implements MsgPriorityStrategy
{
public int onRecvResultPriority(Msg.MsgInfo msg)
{
return DefaultEngine.PRIO_HIGH;
} public int onRecvFromSessionPriority(ITServerSession s, Msg.MsgInfo msg)
{
return DefaultEngine.PRIO_DEFAULT;
}
} AtomicInteger m_curSessionIdx = new AtomicInteger(1); IMsgQueue<Msg.MsgInfo> m_cmdQue = new MsgQueue<Msg.MsgInfo>("cmd");
IMsgQueue<Msg.MsgInfo> m_resultQue = new MsgQueue<Msg.MsgInfo>("result"); ConcurrentHashMap<Integer, ITServerSession> m_svc = new ConcurrentHashMap<Integer, ITServerSession>(); NotifyReg m_reg = new NotifyReg(); ITDispatch m_dispatch; ITAclInterface m_acl = ITAclInterface.s_defaultAcl;
String m_uuid = UUID.randomUUID().toString();
String m_name; MsgPriorityStrategy m_msgPriorityStrategy; LongStatPrp sp_cmdnum = new LongStatPrp("recv cmd",0);
LongStatPrp sp_resultnum = new LongStatPrp("send result",0);
LongStatPrp sp_notifynum = new LongStatPrp("send notify",0); private static final Log logger = LogFactory.getLog("comm"); public BusStub(String name)
{
this(name, null);
} public BusStub(String name, MsgPriorityStrategy msgPriorityStrategy)
{
m_name = name;
m_msgPriorityStrategy = msgPriorityStrategy;
} public String getName()
{
return m_name;
}
public void setName(String name)
{
m_name = name;
} public String getUUID()
{
return m_uuid;
}
原文地址:http://www.2cto.com/kf/201310/249266.html
存根类(stub) 是什么意思?有什么作用?(转)的更多相关文章
- 什么是存根类 Stub
转:http://www.cnblogs.com/cy163/archive/2009/08/04/1539077.html 存根类是一个类,它实现了一个接口,但是实现后的每个方法都是空的. ...
- 存根类STUB
当我们创建一个指定各种方法集合的接口时,我们可以考虑使用"存根”STUB,“存根”就是用空方法体实现该接口中所有方法的类,这样我们就可以通过继承该“存根”创建一个实现该接口的类,这样一来,该 ...
- JAVA基础知识(七)存根类
存根类是一个类,它实现了一个接口,它的作用是:如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法.但是一个类从业务来说,可能只需要其中一两个方法.如果直接去实现这个接口,除了实现所需的方法 ...
- dubbo的本地存根(Stub)
dubbo的本地存根的原理是:远程服务后,客户端通常只剩下接口,而实现全在服务器端,但提供方有些时候想在客户端也执行部分逻辑,那么就在服务消费者这一端提供了一个Stub类,然后当消费者调用provid ...
- serialVersionUID, ObjectInputStream与ObjectOutputStream类,Serializable接口,serialVersionUID的作用和用法
ObjectInputStream与ObjectOutputStream类所读写的对象必须实现Serializable接口,对象中的transient和static类型成员变量不会被读取和写入 Ser ...
- Java动态加载类在功能模块开发中的作用
Java中我们一般会使用new关键字实例化对象然后调用该对象所属类提供的方法来实现相应的功能,比如我们现在有个主类叫Web类这个类中能实现各种方法,比如用户注册.发送邮件等功能,代码如下: /* * ...
- CDialog类中OnCancel()、OnInitDialog()作用
1.void CCOMDDlg::OnCancel() { // TODO: Add extra cleanup here CDialog::OnCancel();} 如果把CDialog::OnCa ...
- java.util.Stack类中 empty() 和 isEmpty() 方法的作用
最近在学习算法和数据结构,用到Java里的Stack类,但程序运行结果一直和我预料的不一样,网上也没查清楚,最后查了API,才搞明白. java.util.Stack继承类 java.util.Vec ...
- 类linux系统/proc/sysrq-trigger文件功能作用
立即重启计算机 echo "b" > /proc/sysrq-trigger 立即关闭计算机 echo "o" > /proc/ ...
随机推荐
- 定位amdu无法使用的根因并解决
环境: OEL 5.7 + Oracle 10g + amdu_X86-64 现象: 我的两套实验环境,一套单实例,一套RAC,操作系统都是OEL 5.7,数据库都是Oracle 10g,上传同样的a ...
- InstallShield2015创建安装包
1.新建 InstallScript MSI Project工程 a)输入项目名称Project Name: XBS(例如) b)输入创建目录Location: C:\(例如) c)如果勾选“ ...
- Hadoop.之.入门部署
一.课程目标 ->大数据是什么?大数据能做什么? ->什么是Hadoop?Hadoop的设计思想? ->Hadoop如何解决大数据的问题?(什么是hdfs与yarn.MapReduc ...
- Nginx配置文件具体配置解释
Nginx配置文件具体配置解释 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错 ...
- Mongo数据两表关联创建视图示例
表tblCard: {"cNo":"11","oRDate":ISODate("2017-08-01T00:00:00.000+0 ...
- 依赖反转Ioc和unity,autofac,castle框架教程及比较
1.依赖倒置的相关概念 http://www.cnblogs.com/fuchongjundream/p/3873073.html IoC模式(依赖.依赖倒置.依赖注入.控制反转) 2.依赖倒置的方式 ...
- Rpgmakermv(7) Chronus插件介绍翻译
协议:MIT 作用:时间,有时间推进,可以设置速度,随着游戏中时间的推进,会发生昼夜改变和天气变化. ------------------------------------------------- ...
- 如何登录Sitecore CMS
这是关于学习如何使用和开发Sitecore CMS的系列文章中的第一篇. 在使用Sitecore CMS之前,必须先登录.新Sitecore开发人员常见的一个问题是“我该在哪里登录?” 安装任何版本的 ...
- uva 11183 Teen Girl Squad
题意: 有一个女孩,需要打电话让所有的人知道一个消息,消息可以被每一个知道消息的人传递. 打电话的关系是单向的,每一次电话需要一定的花费. 求出打电话最少的花费或者判断不可能让所有人知道消息. 思路: ...
- PGPDesktop在win7环境下的安装和使用
PGPDesktop在win7环境下的安装和使用 PGP的简介 PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件,它提供了非对称加密和数字签名,是目前非常流 ...