流水记录: 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:  [email protected]jabber or google talk:  [email protected]phone:  text CHTR node <msg> to 41411twitter:  follow chtr and send a direct message with: node <msg>rss feed:  

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

1 添加 [email protected] 为gtalk好友;

2 给 [email protected]发 @join 命令加入;

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

猜你喜欢

转载自nodex.iteye.com/blog/1326712