读书人

水流记录: openfire修改与插件开发

发布时间: 2012-06-30 17:20:12 作者: rapoo

流水记录: openfire修改与插件开发

项目目录结构:

?


水流记录: openfire修改与插件开发

?

?

openfire在eclipse中准备后以后,目录结构如上所述。

?

1 src 下就是代码,分 Java 和 plugins 两个核心的,其他目录见命知义,比如conf, 比如bin,比如web 等。

?

2 src/java 是openfire的所有代码,根据包名就可知其作用,从 org.jivesoftware.openfire.starter 这个包开始 ?。对openfire的修改要谨慎,个人建议确保熟悉整体的框架,从JAVA的角度来说,openfire的设计还是很经典而且很值得学习的,开源社区的魅力就在此,与其天天跟着别人看那么多设计模式,不如好好看看openfire的代码及其工作过程; 之后,对Openfire的XMPP实现就有了底,然后跟自己的需求对比,就可以确定是否真的要修改,还是开发一个插件,以及如何修改,或开发何种类型的插件(IQHandler ? Compenent ? or other ...)。

?

3 plugins下面是都是openfire插件,默认的已经至少有admin,用户后台管理; 上图中我自己还开发了4个,分别用于4个业务子系统。

?

?

注: openfire的插件功能比较强大,可以在不修改openfire的前提下扩展各种功能,而且插件支持热部署,无需重启服务器。

?

?

目前上线的各种移动互联网产品,从短信、群聊,到语音,视频,文件传送,微博绑定,漂流瓶,签到,等等,各种功能都可以往里面整合;但是基础还是一个XMPP协议+HTTP协议,甚至也有人直接面向TCP编程的,其实都差不多,如果是简单的 ,很多人用一些KEY-VALUE的工具,面向TCP能更快捷高效地通信。?

?

另外,今天有人对第三方群聊比较有兴趣,我就顺手推荐了以前用到的??http://chatterous.com/node/?,一个gtalk的群聊/小组 服务,非常不错,支持下列方式沟通:

?

?

how to reach the group?
url:??http://chatterous.com/node/email:??node@chatterous.comjabber or google talk:??node@chatterous.comphone:??text CHTR node <msg> to 41411twitter:??follow?chtr?and send a direct message with: node <msg>rss feed:??水流记录: openfire修改与插件开发

?

?

以前小组是一个 IT圈 的群,如果你有兴趣也可以加入:

1 添加 node@chatterous.com 为gtalk好友;

2 给 node@chatterous.com发 @join 命令加入;

3 你可以发言了,而且可以使用帮助命令 @help?

?

读书人网 >互联网

热点推荐