Titan Framework 内部接口与函数说明书

HTTP与网络

Spring风格的Restful的Controller:

RestfulController 通用Restful API Controller

–org.titan.framework.facade.controller.RestfulController

Titan Framework 内部接口与函数说明书_第1张图片

RestfulController进行HTTP API Path注释同Spring风格

Tips:RestfulController各方法中的ServiceName可以用于区分API版本号,并且进行API版本兼容处理,例如https://{base_url}/login/v1  [POST]

完整的RestfulController实例


Titan Framework 内部接口与函数说明书_第2张图片

QueryController 通用查询专用API Controller

–org.titan.framework.facade.controller.QueryController


Titan Framework 内部接口与函数说明书_第3张图片

完整的QueryController实例


Titan Framework 内部接口与函数说明书_第4张图片

org.titan.framework.facade.controller的自定义方式

Titan Framework对Controller的自定义方式类似Spring风格,如果曾经使用过SpringMVC的用户将会很快上手。


Titan Framework 内部接口与函数说明书_第5张图片

CommandHandler&Command 通用指令模型

–org.titan.framework.facade.application.CommandHandler

–org.titan.framework.facade.application.Command

Titan Framework中采用如下逻辑进行Command捕捉与传递。

–第一步:Controller中return一个Command至Titan的Controller基类;

–第二步:Titan的Controller基类中将会完成Command类型的识别与自动匹配;

–第三步:Titan将Command发送到对应的应用层CommandHandler(注意:必须有@CmdHandler注释)


Titan Framework 内部接口与函数说明书_第6张图片

一个简单的CommandHandler案例如下:

Titan Framework 内部接口与函数说明书_第7张图片

Command&Command类型

Command是Titan框架中的指令单元,用来关联Controller与对应的具体处理逻辑,实现Controller与逻辑处理的解耦。Titan Framework为用户预置了下面这些Command类型,大家可以直接使用。


Titan Framework 内部接口与函数说明书_第8张图片

当然,大家也可以通过实现Command接口来自定义自己的Command。对于自定义Command,Titan Framework同样提供自动匹配支持。

Command中实现了以下默认方法:

Titan Framework 内部接口与函数说明书_第9张图片

Result与Result的使用

Result是Titan Framework中通用返回值的包装类,通过Result可以直接获取结果、状态、错误信息等。 

Result有以下构造方式:


Titan Framework 内部接口与函数说明书_第10张图片

Titan内置的Result信号类型,可以快速构建对应的result:


Titan Framework 内部接口与函数说明书_第11张图片

Result的方法:


Titan Framework 内部接口与函数说明书_第12张图片

微服务远程调度

Publish&EventHandler

–org.titan.framework.facade.kit.Publish

–org.titan.framework.facade.event.EventHandler

Publish是Titan Framework的微服务远程调用入口,用于有针对性地向远程服务发起请求事件。

Publish有以下方法:


Titan Framework 内部接口与函数说明书_第13张图片

Publish的使用示例:

Send模式(Remote)


Titan Framework 内部接口与函数说明书_第14张图片

Send模式(Local)


Titan Framework 内部接口与函数说明书_第15张图片


Titan Framework 内部接口与函数说明书_第16张图片

与Publish相对应的是其他微服务的EventHandler,Publish发送Event,EventHandler接收响应Event。

EventHandler和CommandHandler类似,通过Event的类型来进行远程匹配。

EventHandler使用示例:


Titan Framework 内部接口与函数说明书_第17张图片

EventHandler中关键方法为Feedback.content(),用来通过非阻断的方式将处理结果返回至调用者。


Tips:自定义AppEvent和Result中都可以携带数据进行返回,Titan官方不建议返回数据过大,如果需要返回大量数据或者二进制流数据,可以通过Event驱动加MessageQueue的方式进行处理。


数据库&消息队列支持

Titan Framework对MySql、MongoDB、Redis提供直接支持。

Titan Framework的MySql支持

Titan与Mysql的对接包括以下三部分:

–conf包下的mysql.properties

–spring包下的application-dynamic-ds-context.xml、application-context.xml

–基于Titan SpringMysqlRepository、SpringMysqlFindRepository的功能模块

其中SpringMysqlRepository是数据库写模型,SpringMysqlFindRepository是数据库读模型。

SpringMySqlRepository用法如下:

Titan Framework 内部接口与函数说明书_第18张图片
Titan Framework 内部接口与函数说明书_第19张图片

SpringMysqlRepository中包含以下方法:


Titan Framework 内部接口与函数说明书_第20张图片

SpringMysqlFindRepository示例如下:


Titan Framework 内部接口与函数说明书_第21张图片

mysql.properties示例如下:


Titan Framework 内部接口与函数说明书_第22张图片

application-context.xml示例如下:

Titan Framework 内部接口与函数说明书_第23张图片

application-dynamic-ds-context.xml示例如下:


Titan Framework 内部接口与函数说明书_第24张图片
Titan Framework 内部接口与函数说明书_第25张图片

Titan Framework的MongoDB支持

Titan与MongoDB的对接包括以下两部分:

–spring包下的application-mongoDB-context.xml、application-context.xml

–conf包下的mongoDB.properties

基于Titan MongodbRepository的功能模块

其中需要实现StorageDataProcessor.Mongo。

MongodbRepository用法如下:


Titan Framework 内部接口与函数说明书_第26张图片

application-mongoDB-context.xml示例如下:

Titan Framework 内部接口与函数说明书_第27张图片

application-context.xml示例如下:


Titan Framework 内部接口与函数说明书_第28张图片

mongoDB.properties示例如下:

Titan Framework的Redis支持

Titan与Mysql的对接包括以下三部分:

–spring包下的application-redis-context.xml、application-context.xml

–conf包下的redis.properties

–基于Titan ShardedJedisPool的功能模块

ShardedJedisPool用法如下:


Titan Framework 内部接口与函数说明书_第29张图片

application-redis-context.xml用法如下:

Titan Framework 内部接口与函数说明书_第30张图片
Titan Framework 内部接口与函数说明书_第31张图片

application-context.xml用法如下:


Titan Framework 内部接口与函数说明书_第32张图片

redis.properties用法如下:

Titan Framework 内部接口与函数说明书_第33张图片
Titan Framework 内部接口与函数说明书_第34张图片

你可能感兴趣的:(Titan Framework 内部接口与函数说明书)