我们都知道,openfire的二次开发一般都是以插件形式组织的。openfire已有数据库及数据表。今天我们来讲,我们进行插件开发的时候,如何创建自己的数据表,添加到openfire原有的数据库中。
1.写数据库创建的脚本。
插件src目录下新建database文件夹,目录结构如下所示:
在database目录下新建testPlugin_mysql.sql,内容如下:
INSERT INTO ofVersion (name, version) VALUES ('testplugin', 0);
CREATE TABLE messageHistory (
messageID BIGINT NOT NULL auto_increment,
date VARCHAR(15) NOT NULL,
fromUsername VARCHAR(64) NOT NULL ,
toUsername VARCHAR(64) NOT NULL,
messageSize INT ,
stanza TEXT NOT NULL,
PRIMARY KEY (messageID)
);
INSERT INTO ofVersion (name, version) VALUES ('testplugin', 0);
2.修改plugin.xml。添加两行语句:
<databaseKey>testplugin</databaseKey>
<databaseVersion>0</databaseVersion>
3.编译testPlugin插件,并运行openfire。我们看到控制台输出:
4.我们可以打开数据库,看到已经新建了一个数据表。如下图:
总结:我们看到,我们已经创建了自己的数据库表,并已与openfire原有的数据库表整合在了一起。如果我们要对数据表进行操作的话,可以用类似下面的语句:
Connection con = null;
PreparedStatement pstmt = null;
String sql = “INSERT INTO messageHistory(date, fromUsername, toUsername, messageSize, stanza) VALUES('20111212', 'hcc', 'erin', '10', 'this is your content')”;
DbConnectionManager.getConnection();
pstmt = con.prepareStatement(sql);
pstmt.executeUpdate();
下次有时间讲讲Interceptor,或者简单工厂模式/策略模式吧。
http://www.cnblogs.com/ErinCodeMM/archive/2011/12/12/2285079.html
相关推荐
openfire聊天记录插件,含有mysql脚本,安装插件前现根据提供的mysql脚本建个表(其他数据库可根据mysql的样式自己建,很简单)
openfire群聊持久化插件,直接放到plugin目录下可用,解决群聊房间推出后房间销毁问题 附带的两张数据库表用来保存群聊离线消息
自己写的openfire插件,可记录一对一,会议室聊天记录,内附sql文件,数据库mysql,赚点积分。嘿嘿
目前在网上能找到的最详细的openfire开发资料,包括基于eclipse的开发基础,openfire数据库结构及表的详细说明。openfire插件开发基础。
基本信息 1 ...附:《Openfire插件开发》 23 开发插件的目的 23 插件的目录结构 23 plugin.xml配置文件的结构 24 管理控制台添加页面 25 实现自己的插件plugin类 25 打包成jar或者war文件 26 其他参考信息 28
openfire二次开发文档 从安装到部署,数据库表、字段、openfire常用的类,配置文件等信息 插件开发等等
介绍了openfire的数据库结构及工作流程以及插件开发。
只需在客户端asmack设置回执,在openfire数据库ofoffline中添加字段lifeid(varchar类型),即可使用,有插件,有源码,保证不丢包,不重包。
opendire所有资料 包括 所需jar包,所需资源文件,install4j打包工具 openfire安装部署、数据库表字段介绍、常用的类的介绍、处理流程图、用户管理、插件开发 是二次开发不可多得的好资料
openfire聊天记录插件源码包,包含数据库文件和聊天记录查询模块。
可支持插件开发,内部集成了openfire所有会缺失的包,包含大部分插件源码,同时集成了本人修改的广播给在线用户插件,已经在本地跑过,内部自带数据库,如果需要登录可使用admin/huored进入管理页面
第一章 JAVA领域的IM解决方案 3 第二章 安装OPENFIRE3.6.4 3 2.1 配置机器的域名 3 2.2 安装OPENFIRE 3 2.2.1 安装 3 2.2.2 运行数据库脚本 4 2.2.3 数据库驱动jar包 6 ...第六章 使用SMACK开发即时通信功能 22
由于Openfire的房间是当用户加入退出登录后,用户也自动退出了该房间,当下次再登录时,需要重新出席加入房间,没有能像QQ群那样持久保持的功能。 为了实现房间的持久保存,设计这个插件的思路就是,使用org....
针对Openfire用户线上行为监测与审计的实际需求,设计和实现了一个基于Openfire服务器的用户行为审计插件actionAuditor。插件由3大模块组成,能实现用户行为记录、查询、存储、备份、导出、排序、统计分析以及免审计...
opendire所有资料 包括 所需jar包,所需资源文件,install4j打包工具 openfire安装部署、数据库表字段介绍、常用的类的介绍、处理流程图、用户管理、插件开发 是二次开发不可多得的好资料
MySQL当前Demeter仅支持MySQL数据库架构Openfire使用插件,Openfire可以处理RESTful API请求以及与DSL设备的WebSocket通信NGINX除了托管Demeter Portal外,它还起到反向代理的作用,以将Demeter C2C API请求和...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...