开发一个组件(Component)需要做如下几件事儿
- 定义一个组件
- 配置这个组件
- 调用这个组件
- 处理组件收到的消息
- 定义一个组件
定义一个最简单的消息组件,需要继承 extends AbstractMessageReceiver 类
public class EchoComponent extends AbstractMessageReceiver {
private static final Logger log = Logger.getLogger(EchoComponent.class.getName());
//~--- methods --------------------------------------------------------------
@Override
public void processPacket(Packet packet) {
log.log(Level.FINEST, "Received: {0}", packet);
Packet result = packet.swapStanzaFromTo();
addOutPacket(result);
log.log(Level.FINEST, "Sent back: {0}", result);
}
}
- 配置这个组件
在init.properties中配置这个组件
--comp-name-8=echo #自定义名称即可,这个名字在客户端发送消息给组件时会用到
--comp-class-8=tigase.server.test.EchoComponent
这样这个组件就配置好了,Tigase启动时就会注册加载这个组件,客户端即可调用了
想要将消息发送给这个组件,客户端的to="xxx"需要设置为
to="xxx" -》 to = "组件名称@域名" -》 to="echo@10.5.1.48",否则消息不会传递给名为"echo"这个组件
- 调用这个组件(我用的Spark 客户端的调试模式中的)
<message from="admin@10.5.1.48/Spark"
to="echo@10.5.1.48" id="8oHyf-314" xmlns="jabber:client">
<subject>test message</subject>
<body>this is a test,hi,word1</body>
</message>
完整调用见截图(我用的是Spark客户端登录界面的调试模式登录,然后使用发送自定义报文的功能)
- 处理消息
这就是一个最简单的组件开发过程!
官网开发指导:
http://docs.tigase.org/tigase-server/7.0.0/Development_Guide/html_chunk/cil1.html
http://docs.tigase.org/tigase-server/7.0.0/Development_Guide/webhelp/cil2.html
企业级独立部署应用:知行办公http://zx.naton.cn
【总监】十二春秋之,3483099@qq.com;
【Master】zelo,616701261@qq.com;
【运营】运维艄公,897221533@qq.com;
【产品设计】流浪猫,364994559@qq.com;
【体验设计】兜兜,2435632247@qq.com;
【iOS】淘码小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com;
【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com;
【java】首席工程师MR_W,feixue300@qq.com;
【测试】土镜问道,847071279@qq.com;
【数据】fox009521,42151960@qq.com;
【安全】保密,你懂的。