`
ssxxjjii
  • 浏览: 933235 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【openfire插件开发】数据库处理部分(openfire数据库模式)

    博客分类:
  • IM
 
阅读更多

我们都知道,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聊天记录插件(含有数据库脚本)

    openfire聊天记录插件,含有mysql脚本,安装插件前现根据提供的mysql脚本建个表(其他数据库可根据mysql的样式自己建,很简单)

    openfire群聊持久化插件

    openfire群聊持久化插件,直接放到plugin目录下可用,解决群聊房间推出后房间销毁问题 附带的两张数据库表用来保存群聊离线消息

    openfire 聊天记录插件(单聊群聊)

    自己写的openfire插件,可记录一对一,会议室聊天记录,内附sql文件,数据库mysql,赚点积分。嘿嘿

    openfire开发资料

    目前在网上能找到的最详细的openfire开发资料,包括基于eclipse的开发基础,openfire数据库结构及表的详细说明。openfire插件开发基础。

    IM服务端开发文档

    基本信息 1 ...附:《Openfire插件开发》 23 开发插件的目的 23 插件的目录结构 23 plugin.xml配置文件的结构 24 管理控制台添加页面 25 实现自己的插件plugin类 25 打包成jar或者war文件 26 其他参考信息 28

    openfire二次开发

    openfire二次开发文档 从安装到部署,数据库表、字段、openfire常用的类,配置文件等信息 插件开发等等

    目前最详尽的openfire介绍

    介绍了openfire的数据库结构及工作流程以及插件开发。

    openfire防丢包插件及源码

    只需在客户端asmack设置回执,在openfire数据库ofoffline中添加字段lifeid(varchar类型),即可使用,有插件,有源码,保证不丢包,不重包。

    openfire二次开发所有资料

    opendire所有资料 包括 所需jar包,所需资源文件,install4j打包工具 openfire安装部署、数据库表字段介绍、常用的类的介绍、处理流程图、用户管理、插件开发 是二次开发不可多得的好资料

    openfire聊天记录插件源码包

    openfire聊天记录插件源码包,包含数据库文件和聊天记录查询模块。

    openfire.zip

    可支持插件开发,内部集成了openfire所有会缺失的包,包含大部分插件源码,同时集成了本人修改的广播给在线用户插件,已经在本地跑过,内部自带数据库,如果需要登录可使用admin/huored进入管理页面

    Openfire_spark安装手册.pdf

    第一章 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-mucextends:Openfire插件,用于实现将房间MUC改造成类似QQ群一样的永久群功能

    由于Openfire的房间是当用户加入退出登录后,用户也自动退出了该房间,当下次再登录时,需要重新出席加入房间,没有能像QQ群那样持久保持的功能。 为了实现房间的持久保存,设计这个插件的思路就是,使用org....

    基于Openfire服务器的用户行为审计插件设计与实现

    针对Openfire用户线上行为监测与审计的实际需求,设计和实现了一个基于Openfire服务器的用户行为审计插件actionAuditor。插件由3大模块组成,能实现用户行为记录、查询、存储、备份、导出、排序、统计分析以及免审计...

    opendire所有资料

    opendire所有资料 包括 所需jar包,所需资源文件,install4j打包工具 openfire安装部署、数据库表字段介绍、常用的类的介绍、处理流程图、用户管理、插件开发 是二次开发不可多得的好资料

    lcmdemeter:用于LCM测试的压力表

    MySQL当前Demeter仅支持MySQL数据库架构Openfire使用插件,Openfire可以处理RESTful API请求以及与DSL设备的WebSocket通信NGINX除了托管Demeter Portal外,它还起到反向代理的作用,以将Demeter C2C API请求和...

    java开源包1

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包11

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包2

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

Global site tag (gtag.js) - Google Analytics