openfire插件二次开发配置
2014-11-04 21:59
477 查看
openfire插件二次开发配置
openfire是一款基于XMPP协议开发的开源IM服务器框架,利用该框架可以快速开发出即时通信系统,并且该服务器可以通过插件开发来进行扩展,接下来我们就了解一下怎样来创建自己的插件。
1、openfire源码配置这里就不再赘述,可以参照网上其他的相关资料,下载完openfire源码,源码目录为openfire_src编译完成后,找到openfire_src/src/plugins目录并添加插件文件夹shoudleLBS(该插件主要是记录用户的经纬度),如下:
2、插件内部目录如下:
其中src/database/shoudleLBS_mysql.sql 为该插件需要操作的数据库执行文件,由于数据库使用了mysql,故命名如此,也可以参照openfire中的sql文件。
sql文件如下:
plugin.xml格式为插件的核心文件,在openfire启动后进行加载插件时,需要通过该xml文件来进行插件查找。本文的该xml文件内容如下:
3.插件基本配置完成后,我们需要创建插件类,也就是上文xml文件中类 ShoudleLBSPlugin。
由于本人用的是eclipse,右键openfire_src-> New -> Source Folder目录,创建源码目录如下:
创建包结构如上图所示:读者也可以根据自己的需求来进行创建包结构,但是需要保证该包结构与plugin.xml文件中的Main plugin class 保持一致。
4.创建类ShoudleLBSPlugin,来实现自定义插件类,代码如下:
5.自此插件创建完成,编译插件(后续讲解如何编译),运行openfire,可以发现数据库中多了一张新创建的表,并且控制台插件目录有我们刚刚创建的插件。
6.总结
由于本人项目需要,需要整合openfire服务器,刚刚接触,也摸索了好久,但是没有找到完整的资料,故自己整理一下,方便大家使用。如果有理解不够透彻的地方,望大家不啬赐教,谢谢,对了openfireLBS插件代码,在github有位大神开源了,这里忘记地址了,如果需要读者可以上去自行搜索!
openfire是一款基于XMPP协议开发的开源IM服务器框架,利用该框架可以快速开发出即时通信系统,并且该服务器可以通过插件开发来进行扩展,接下来我们就了解一下怎样来创建自己的插件。
1、openfire源码配置这里就不再赘述,可以参照网上其他的相关资料,下载完openfire源码,源码目录为openfire_src编译完成后,找到openfire_src/src/plugins目录并添加插件文件夹shoudleLBS(该插件主要是记录用户的经纬度),如下:
2、插件内部目录如下:
其中src/database/shoudleLBS_mysql.sql 为该插件需要操作的数据库执行文件,由于数据库使用了mysql,故命名如此,也可以参照openfire中的sql文件。
sql文件如下:
INSERT INTO ofVersion (name, version) VALUES ('shoudleLBS', 0); CREATE TABLE ofLocation ( id int(11) NOT NULL auto_increment, username varchar(64) NOT NULL, updatetime CHAR(15) NOT NULL, lon double NOT NULL, lat double NOT NULL, PRIMARY KEY (id) );
plugin.xml格式为插件的核心文件,在openfire启动后进行加载插件时,需要通过该xml文件来进行插件查找。本文的该xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?> <plugin> <!-- Main plugin class -->//主要的插件类,该类是openfire加载的类,后面介绍怎么创建该类。 <class>cn.shoudle.openfire.plugin.ShoudleLBSPlugin</class> <!-- Plugin meta-data --> <name>OpenfireLBS Plugin</name> //名称; <description>OpenfireLBS Plugin</description> //描述; <author>render</author> //作者; <version>1.0</version> //当前版本; <date>10/29/2014</date> //日期; <minServerVersion>3.9.0</minServerVersion> //支持openfire服务的最小版本; <licenseType>Apache</licenseType> //可选设置; <adminconsole> //可选配置,配置后在服务端控制台中会出现该插件名称; <tab id="tab-server"> <sidebar id="sidebar-server-manager"> <item id="openfire-lbs" name="openfire lbs" description="record users lbs position" /> </sidebar> </tab> </adminconsole> <databaseKey>shoudleLBS</databaseKey> //需要配置,需要和<span style="font-size:18px;">shoudleLBS_mysql.sql下划线前面保持一致,用来加载该sql语句;</span> <databaseVersion>0</databaseVersion> //数据库版本设置; </plugin>
3.插件基本配置完成后,我们需要创建插件类,也就是上文xml文件中类 ShoudleLBSPlugin。
由于本人用的是eclipse,右键openfire_src-> New -> Source Folder目录,创建源码目录如下:
创建包结构如上图所示:读者也可以根据自己的需求来进行创建包结构,但是需要保证该包结构与plugin.xml文件中的Main plugin class 保持一致。
4.创建类ShoudleLBSPlugin,来实现自定义插件类,代码如下:
package cn.shoudle.openfire.plugin; import java.io.File; import java.sql.Connection; import java.sql.SQLException; import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.openfire.XMPPServer; import org.jivesoftware.openfire.container.Plugin; import org.jivesoftware.openfire.container.PluginManager; /** * Openfire LBS plugin * * @author render; * */ public class ShoudleLBSPlugin implements Plugin { private XMPPServer server; Connection openfireDBConn; @Override public void initializePlugin(PluginManager manager, File pluginDirectory) { try { openfireDBConn = DbConnectionManager.getConnection(); } catch (SQLException e) { e.printStackTrace(); } server = XMPPServer.getInstance(); } @Override public void destroyPlugin() { server = XMPPServer.getInstance(); if (openfireDBConn != null) { try { openfireDBConn.close(); openfireDBConn = null; } catch (SQLException e) { e.printStackTrace(); } } } }插件类需要实现openfire中的接口类Plugin对象,重载initializePlugin()和destroyPlugin()函数。
5.自此插件创建完成,编译插件(后续讲解如何编译),运行openfire,可以发现数据库中多了一张新创建的表,并且控制台插件目录有我们刚刚创建的插件。
6.总结
由于本人项目需要,需要整合openfire服务器,刚刚接触,也摸索了好久,但是没有找到完整的资料,故自己整理一下,方便大家使用。如果有理解不够透彻的地方,望大家不啬赐教,谢谢,对了openfireLBS插件代码,在github有位大神开源了,这里忘记地址了,如果需要读者可以上去自行搜索!
相关文章推荐
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- openfire 3.8.2 源码部署 /开发配置 / 二次开发
- Openfire开发配置,Openfire源码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- Openfire插件开发坏境配置指南
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- openfire 3.8.2 源码部署 /开发配置 / 二次开发
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- Spark插件二次开发时在Eclipse的调试配置
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置
- Openfire开发配置,Openfire源码配置,OpenFire二次开发配置