Skip to content

honestyallan/schema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

schema

根据pangu项目实现了自定义的schema。 mina 实例 netty 实例 Dubbo 实例 spring mail 实例 自定义注解 实例

运行的时候可能会遇到解析不了XML文件的错误SAXException:

在maven的本地仓库下找到maven->com->alibaba->dubbo->2.5.3->dubbo-2.5.3.jar (具体的看自己的本地仓库) 解压它获得dubbo.xsd文件

然后打开Eclipse:1. Window->Preferences->XML->XML Catalog->User Specified Entries窗口中,选择Add 按纽

注册服务选择:

生产用:
ps:这里是把服务器方和提供方都注册到了zookeeper上统一管理。上面的IP为安装了zookeeper的服务器地址。如果不想用zookeeper管理的话,可以改为

测试用:

thrift 数据类型 * Base Types:基本类型 * Struct:结构体类型 * Container:容器类型,即List、Set、Map * Exception:异常类型 * Service: 定义对象的接口,和一系列方法

协议 Thrift可以让你选择客户端与服务端之间传输通信协议的类别,在传输协议上总体上划分为文本(text)和二进制(binary)传输协议, 为节约带宽,提供传输效率,一般情况下使用二进制类型的传输协议为多数,但有时会还是会使用基于文本类型的协议,这需要根据项目/产品中的实际需求: * TBinaryProtocol – 二进制编码格式进行数据传输。 * TCompactProtocol – 这种协议非常有效的,使用Variable-Length Quantity (VLQ) 编码对数据进行压缩。 * TJSONProtocol – 使用JSON的数据编码协议进行数据传输。 * TSimpleJSONProtocol – 这种节约只提供JSON只写的协议,适用于通过脚本语言解析 * TDebugProtocol – 在开发的过程中帮助开发人员调试用的,以文本的形式展现方便阅读。

传输层 * TSocket- 使用堵塞式I/O进行传输,也是最常见的模式。 * TFramedTransport- 使用非阻塞方式,按块的大小,进行传输,类似于Java中的NIO。 * TFileTransport- 顾名思义按照文件的方式进程传输,虽然这种方式不提供Java的实现,但是实现起来非常简单。 * TMemoryTransport- 使用内存I/O,就好比Java中的ByteArrayOutputStream实现。 * TZlibTransport- 使用执行zlib压缩,不提供Java的实现。

服务端类型 * TSimpleServer - 单线程服务器端使用标准的堵塞式I/O。 * TThreadPoolServer - 多线程服务器端使用标准的堵塞式I/O。 * TNonblockingServer – 多线程服务器端使用非堵塞式I/O,并且实现了Java中的NIO通道。

提到池一般做过Java开发的肯定会想到ObjectPool,Apache Commons项目确实给我们的开发得来了很大的便利性,其中的pool项目正是我们实现thrift连接池的基础,当然也少不了神器spring framework。

#java-spi

java spi的具体约定如下 : 当服务的提供者,提供了服务接口的一种实现之后,在jar包的META-INF/services/目录里同时创建一个以服务接口命名的文件。该文件里就是实现该服务接口的具体实现类。而当外部程序装配这个模块的时候,就能通过该jar包META-INF/services/里的配置文件找到具体的实现类名,并装载实例化,完成模块的注入。 基于这样一个约定就能很好的找到服务接口的实现类,而不需要再代码里制定。 jdk提供服务实现查找的一个工具类:java.util.ServiceLoader http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html 这个是官方的文档,有对service的详细介绍,包括规范以及一个简单的示例,这个是学习SPI必须看的文档;

#thread 生产者,消费者

#freemarker 导出doc

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published