如图右上角所示,Ray中有两类Handler(SubHandler和PartSubHandler),在使用中,SubHandler派生Actor的CoreHandler,PartSubHandler派生SQLToReadHandler,SQLToReadHandler派生Actor的ToReadHandler,使用Ray主要写Actor的CoreHandler和ToReadHandler。
SQLToReadHandler
ToReadHandler是复合消息持久化器,包含的功能有:消息路由器、消息处理器、消息分离器、消息聚合器、消息过滤器、消息持久化器。
前几种功能(消息路由器、消息处理器、消息分离器、消息聚合器、消息过滤器)与CoreHandler类似,不再赘述。
消息持久化器
ToReadHandler主要用于将消息中感兴趣的数据写入到数据库中,作为消息持久化器是它的主要功能。如上图所示,标记为“IO-SQL-DB”的地方都可以进行关系型数据库的读写操作,灰白色的的地方是推荐的操作(当前代码块需要读取数据库中数据,允许对数据库进行读操作;如果想进行数据库写操作,推荐在ToReadHandler订阅目标事件对数据库进行写操作)。
- CoreHandler主要用于消息路由。
- ToReadHandler主要用于消息持久化。