libthrift0.9.0 解析-Server

TServer

属性serverTransport 为TServerTransport类型,类图如下:

构造函数,简单根据args设置几个成员,大部分是工厂类:

protected TServer(AbstractServerArgs args) {
    processorFactory_ = args.processorFactory; // 处理器工厂
    serverTransport_ = args.serverTransport; // 服务器transport,具有listen和accept功能
    inputTransportFactory_ = args.inputTransportFactory; // 输入transport
    outputTransportFactory_ = args.outputTransportFactory; // 输出transport
    inputProtocolFactory_ = args.inputProtocolFactory; // 输入protocol
    outputProtocolFactory_ = args.outputProtocolFactory; // 输出protocol
  }

public abstract void serve(); 为抽象类,供子类实现。子类有:

时间: 2024-10-03 00:57:26

libthrift0.9.0 解析-Server的相关文章

libthrift0.9.0解析(四)之TThreadPoolServer&ServerContext

TThreadPoolServer直接继承自TServer,实现类serve和stop操作. 在serve中可以接受多个连接,每个连接单独开一个线程进行处理,在每个线程中,按顺序处理该线程所绑定连接的请求,因此对同一个连接来说,是同步的. serve函数主要代码: while (!stopped_) { int failureCount = 0; try { TTransport client = serverTransport_.accept(); WorkerProcess wp = new

libthrift0.9.0解析(五)之TNonblockingServer&THsHaServer

本文是一边看代码一边写的,是真随笔,随看随下笔. 看TNonblockingServer,先看其父类AbstractNonblockingServer.一般来说,父类封装的都是通用的东西,具体的底层实现方式交由子类来实现.因此抽象类一般会作为两层之间的交点所在,父类在上层,子类在下层.先看父类,再看子类,先看高层,再看低层,先看框架再忽略底层细节,遇到一些细节非常想看想深入进去时,也会忍住不看,待到上层了解完毕之后,再回过头来看.必要先在头脑中形成一个坐标系,然后再往其中安放具体物件.不知这样对

451 4.7.0 Temporary server error. Please try again later. PRX2 故障处理

本周四临近下班时,接到一个客户的电话--其Exchange 2013 CU2系统终端用户无法使用 SMTP 方式发送邮件.当客户端(OLK或者Foxmail)发送邮件时,系统提示错误: 451 4.7.0 Temporary server error. Please try again later. PRX2 诊断时,通过telnet Server 25命令检测可以连接:通过客户端软件连接时,身份验证操作成功.同时,在故障期间伴随着无法使用POP3收取邮件. 毋庸置疑地,Exchange 201

Spark1.0.0 history server 配置

在运行Spark应用程序的时候,driver会提供一个webUI给出应用程序的运行信息,但是该webUI随着应用程序的完成而关闭端口,也就是说,Spark应用程序运行完后,将无法查看应用程序的历史记录.Spark history server就是为了应对这种情况而产生的,通过配置,Spark应用程序在运行完应用程序之后,将应用程序的运行信息写入指定目录,而Spark history server可以将这些运行信息装载并以web的方式供用户浏览. 要使用history server,对于提交应用程

SAP ECC 6.0 windows server 2003 安装分享 自学教程

最近测试了SAP ECC 6.0 windows 下安装,  windows server 2003 +oralce 10g, 总体感觉比R3 要进步了. 运行速度方面也很快,不过我最喜欢的是 ECC6.0+ SQL server 2008是速度最快的,说明现在微软的东西真的进步很多了. 分享一些过程吧. 安装Java 1.4 ,因为安装简单,所以过程省略了.(经本人测试,java 1.5/1.6都可以,1.7以上不可以) 如下图: 安装 Oralce 10g 安装结束 至此  ORACLE 1

eclipse kepler 4.3.0 装配server组件

在使用Eclipse 最新版eclipse kepler 4.3.0时,部署运行项目找不到server组件, 解决方法如下: Help --> Install New Software --> "Kepler" repository(Location: http://download.eclipse.org/releases/kepler) --> Web, XML, Java EE and OSGi Enterprise Development --> JST

OWIN OAuth 2.0 Authorization Server

OWIN OAuth 2.0 Authorization Server 源码在上面的地址中可以下载 打开客户端页面http://localhost:38500/ 客户端代码引用了DotNetOpenAuth.OAuth2 public class HomeController : Controller { private WebServerClient _webServerClient; public ActionResult Index() { ViewBag.AccessToken = Re

HTTP 错误 500.0 - Internal Server Error

最近在二次开发一个APS.NET网站,将网站部署到IIS后,输入:http://localhost/upload/ 时,报错“HTTP 错误 500.0 - Internal Server Error”, HTTP 错误 500.0 - Internal Server Error Internal Server Error 详细错误信息 模块 ManagedPipelineHandler 通知 ExecuteRequestHandler 处理程序 ExtensionlessUrlHandler-

0. SQL Server监控清单

原文:0. SQL Server监控清单 数据库服务器的监控可大致分为两类: (1) 状态监控:数据库服务器有没有在健康地运行? (2) 性能监控:健康运行的同时,有没有性能问题?可不可以更快些? 一. 服务器 1. 状态监控 (1) 服务器是否可访问? (2) 数据库服务是否启用? (3) 操作系统事件日志中的错误或告警 (4) 磁盘可用空间 2. 性能监控 (1) IO压力 (2) 内存使用 (3) CPU使用 (4) 网络带宽占用 这1,2,3,4是按照容易出现瓶颈的顺序排列的,由于磁盘的