O p e n F i r e插件开发基础教程
Openfire是一款优秀的XMPP服务器,而且是开放源码的.大家可以根据自己的需求进行二次开发。
二次开发主要有两种方式:1.修改源代码,2开发openfire插件。
从可扩展性上考虑,自然是开发插件是上策,只有插件无法实现时候才会选择修改源代码。
下面就个人经验,说明一下如何开发openfire插件
一、环境基础
要有一个配置好的openfire开发环境,这个网络上有比较详细的教程了。
比如《》和《行》,这时候ant应该是可以正常运行的,先执行openfire 【default】,就生成了openfire的目标代码,再执行plugins,就个生成所以系统自带的插件。
二、目录拷贝
打开workspace\openfire_src\src\plugins目录,找一个要修改的插件,我选的是subscription,拷贝生成“subscriptionUF”。
打开src目录,里面有两个文件夹
,java就是我们要改的源码,而web里面是修改这个插件所要用的web 配置页面,目前用不到,直接删除。
三、修改plugin.xml
这个一个xml文件,里面的内容就按照自己的样子更改吧。
最关键是确定<class>,插件所在的类名,既然没有web文件夹了adminconsole也全部注释掉吧.
四、修改类和类目录
修改src/java里面的目录层次,Class和src/java中的路径必须一致。
五、引入openfire项目
右击openfire项目,选择New->Source Folder,在Floder name中选择到刚刚新增的插件目录,注意要选到src/java这一层
六、修改类文件
SubscriptionPluginUF是完全copy SubscriptionPlugin的,因此有两个类名不符的error修改一下.
至此,整个openfire已经把我们新加的SubscriptionPluginUF包含在他的plugins中了,通过控制台也能看到一个仿冒的SubscriptionPluginUF插件
七、单独编译插件
如果每次都运行plugins,生成所有插件的同时生成我们修改的插件,固然可行,就是慢了一点,插件有什么错误也要找半天。
Openfire还很贴心的给了只生成我们想要的插件的ant 指令— plugin,我们要做的工作就是告诉ant,我们的目标插件名是
SubscriptionPluginUF。
增加一个plugin的property,这样只需要点击plugin,就能生成我们的插件了。
P.S.openfire插件的目录和文件组织
请参考/documentation/docs/plugin-dev-guide.html。