背景:刚接触tigase,记录一下tigase涉及到组件(components)和插件(plugins),为更好的学习该框架有个大概的轮廓。
tigase在启动的时候,tigase.server.XMPPServer该启动类会加载init.properties文件,初始化并启动相关的组件和插件,每个启动的组件会创建该组件相应的线程池 或 监听端口 或 访问数据库,默认的有此组件和插件可能不是必需的,为了避免资源浪费,需要要配置文件中注释掉这些组件或插件。
那问题来了,tigase有什么组件或插件呢???
下面来列举一下:
tigase组件说明 | |
Amp | 高级消息处理 |
bose | 提供客户端HTTP长连接 |
c2s | 提供客户端tcp连接 |
cl-comp | 内置集群组件 |
eventbus | 事件总线,内部处理 |
message-archive | 消息归档组件 |
mointor | 监控组件 |
muc | 多个聊天室 |
proxy | 代理 |
s2s | tigase服务端节点之间的交互 |
sess-man | 会话管理 |
pubsub | 订阅发布 |
tigase插件说明 | |
jabber:iq:register | 注册服务 |
message-archive-xep-0136 | 消息归档 |
jabber:iq:auth | 简单用户认证 |
urn:ietf:params:xml:ns:xmpp-sasl | Simple Authentication Security layer 协议协商 |
run:ietf:params:xml:ns:xmpp-bind | 资源绑定 |
run:ietf:params:xml:ns:xmpp-session | session绑定 |
jabber:iq:roster | 联系人名单管理 |
presence-state | xmpp顶级元素,上线广播 |
jabber:iq:privacy | 隐身协议 |
jabber:iq:version | 客户端版本 |
http://jabber.org/protocal/stats | 是否发送统计信息,指向jabber.org发送 |
startst | tls加密 |
msgooffline | 离线消息 |
vcard-temp | 临时vCard |
http://jabber.org/protocal/commands | 管理virtual domains的特别命令 |
jabber:iq:private | 私有完好的地心存储 |
urn:xmpp:ping | 心跳检测 |
presence-subscription | 发布订阅插件 |
domain-filter(basic-filter) | domain拦截器 |
amp(basic-filter) | 高级消息处理 |
zlib(basic-filter) | zlib压缩 |
message-carbons(basic-filter) | 将stanzas投递到用户指定的资源 |
disco(basic-filter) | 服务发现 |
在init.properties配置文件中,相关的配置如下:
message-router/components/msg-receivers/id-name[s] = bosh,cl-comp,eventbus,s2s,sess-man
sess-main/plugins[s] = session-close,session-open,defalult-handler,urn:ietf:params:xml:ns:xmpp-sasl