Tigase 学习笔记整理
1、主要分三部分组成:
1、组件(component,gase 的核心)
2、Plugin(插件,被 sessionManager 组件和 C2S 组件加载)
3、连接器(认证连接器和用户数据连接器)
2、 组件接口(Component Interface)
1、tigase.server.ServerComponent:顶级 Component 接口,所
有的 component 都必须实现它
2、tigase.server.MessageReceiver:继承 ServerComponent 接口,如果
自定义的组件想像 SessionManager 一样接收数据包就必须实现它
3、tigase.conf.Configurable:实现此接口的类都必须是可配置的,每个实
现此接口的类将在运行期被加载,在运行期改变配置将会非常有用
4 、 tigase.disco.XMPPService: 继 承 该 接 口 的 Objects 则 能 够 回 应
ServiceDiscovery 请求
5、tigase.stats.StatisticsContainer:Objects 继承该类型可以返回运行期的
统计结果,任何该类型的 Object 或者实现该接口的类都可以吧统计结果展示给它
允许的用户
抽象类:
1 、 tigase.server.AbstractMessageReceiver: 实 现 了 4 个 基 本 接 口 ,
(ServerComponent,MessageReceiver,ConfigurableandStatisticsC
ontainer),该类采用自身的线程管理内部数据来避免死锁,他提供事件驱动方
法 processPacket(Packet packet) 来处理数据,你必须在自己的组件中实
现 该 方 法 , 如 果 改 组 需 要 发 送 或 者 接 收 数 据 包 就 必 须 调 用 boolean
addOutPacket(Packet packet)
2、tigase.server.ConnectionManager:
是扩展 AbstractMessageReceiver 的抽象类,此类事用于管理网络连接,
如果你的组件需要直接发送和接收来自网络的数据,你就应该实现这个基类, 它负
责与网络相关的一切事物,I / O 操作,重新连接,监听 Socket,连接等。如果你继承这个
类你就必须处理消息的来源,如果来自 MessageRouter那么就调用 abstract void
processPacket(Packet packet); 方法,如果消息来自网络连接,则 abstract
Queue processSocketData(XMPPIOService serv);将会被调用。
评论0