当前位置:文档之家› OpenFire环境搭建说明文档

OpenFire环境搭建说明文档

OpenFire环境和插件开发说明文档1概述1.1编写目的本文档旨在为在Windows系统下快速构建Openfire开发环境和集成插件环境进行相关说明。

期望读者为Openfire开发人员和Openfire 服务器测试、维护人员。

1.2术语说明Openfire服务器:基于XMPP(jabber)协议的开源实时协作(RTC)服务器,采用Java语言开发。

可快速构建企业级的高效及时通信服务器。

Openfire插件:Openfire的可扩展应用服务模块,单个插件可通过Openfire的后台管理功能进行管理、发布、升级。

2准备资料2.1运行环境1.JDK:jdk 1.5以上,建议采用jdk1.6以上版本。

版本基于操作系统x86/x64确定。

目前服务器采用x86 版本jdk1.6.0_01。

2.Mysql:Mysql5.0以上,建议采用mysql5.5以上版本。

2.2资源文件Openfire源文件:Openfire版本【Openfire3.7.1】3结构说明3.1项目结构服务器部分:a)src/java:Openfire服务器源代码b)src/plugins:Openfire插件源代码c)build:build.xml Openfire服务器编译打包脚本d)documentation:安装开发说明文档和javadoce)resources:国际化资源文件f)src:源文件其它资源g)target:编译后的Openfire服务器h)work:开发环境Openfire工作目录自定义部分:a)ant:plugin-utils.xml 自定义帮助类编译打包脚本b)build:build-utf8.xml utf8格式Openfire服务器编译打包脚本c)plugin-jar:自定义插件存放目录,从target/openfire/plugins/下拷贝,主要为提交到SVN服务器d)src/plugins/rosterservice/src/java:关系服务插件源文件e)src/plugins/accountservice/src/java:账号服务插件源文件f)src/plugins/vcardservice/src/java:VCard服务插件源文件g)src/utils:自定义帮助类源文件3.2插件结构插件都存放在openfire根下的plugins目录下。

当一个插件被以JAR或WAR 文件发布时,自动扩展为一个文件夹。

插件目录结构如下所示:插件结构myplugin/|- plugin.xml <- 插件定义文件|- readme.html <- 可选的插件自己述文件,它将被显示给最终用户。

|- changelog.html <- 可选的插件版本日志文件,它将被展现给最终用户。

|- logo_small.gif <- 插件关联的小图标(16x16)文件(也能为png文件) |- logo_large.gif <- 插件关联的大图标(32x32)文件(也能为png文件) |- classes/ <- 你的插件需要的资源文件(如properties文件)|- database/ <- 可选的你的插件需要的数据库schema文件|- i18n/ <- 可选的i18n文件,它们为插件提供国际化支持|- lib/ <- 你的插件需要的库(JAR文件)|- web <- 需要集成到管理控制台中的各类资源(如果有的话) |- WEB-INF/|- web.xml <- 配置jsp调度的web.xml配置文件|- web-custom.xml <- 用户定义web.xml文件,自定义servlets |- images/plugin.xml配置文件<?xml version="1.0" encoding="UTF-8"?><plugin><!—插件类--><class>org.jivesoftware.openfire.plugin.RosterServicePlugin</class><!—插件名称 --><name>RosterServicePlugin </name><!—插件描述--><description>This is an roster plugin.</description><!—插件作者--><author>Jive Software</author><!—插件版本--><version>1.0</version><!—插件创建日期--><date>11/11/2011</date><!—插件访问路径 --><url>http://www /projects/openfire/plugins.jsp </url><!—插件所需openfire最低版本 --><minServerVersion>3.0.0</minServerVersion><!—插件协议 --><licenseType>gpl</licenseType><!—控制台配置 --><adminconsole><!—控制台显示 Tab页签可省略--><tab id="mytab"name="Example"url="sample.html"description="Click to manage..."><sidebar id="mysidebar"name="My Plugin"><item id="my-plugin"name="My Plugin Admin"url="sample.html"description="Click to administer settings for my plugin"/> </sidebar></tab></adminconsole></plugin>3.3数据表结构主要表结构说明ofUser:用户信息ofRoster:好友信息ofVCard:名片信息表ofProperty:服务器属性表4启动类配置[Eclipse]Run--> Open Debug DialogMain选项卡:Project:选择启动的工程VF-OFMain Class:选择org.jivesoftware.openfire.starter.ServerStarterArguments选项卡:VM arguments:VF-OF为工程名称-DopenfireHome="${workspace_loc:VF-OF}/target/openfireClasspath选项卡:增加i18n:选中User Entries -->点击Advanced…(Advanced Options) --> 选中Add Folders --> 点击OK 弹出选择文件窗口--> 选择VF-OF/src/i18n文件夹即可增加jar:操作同增加i18n,只需要选择增加的文件夹为VF-OF\src\resources\jar文件夹即可增加dist:操作同增加i18n,只需要选择增加的文件夹为VF-OF\build\lib\distCommon选项卡:选择Display in favorites menu选中Run、Debug5编译脚本配置[Eclipse]5.1服务器编译脚本配置Run-->External Tools-->Open External Tools Dialog…Main选项卡:Buildfile:${workspace_loc:/VF-OF/build/build-utf8.xml}Targets选项卡:默认选中openfire[default]即可Common选项卡:External Tools选中5.2插件编译脚本配置Run-->External Tools-->Open External Tools Dialog…Main选项卡:Buildfile:${workspace_loc:/VF-OF/build/build-utf8.xml}Arguments:-Dplugin=accountservice(后面的accountservice为插件文件夹名称)Targets选项卡:去掉openfire[default]选中,选中plugin即可Common选项卡:External Tools选中6主要接口和类说明6.1插件接口位置:org.jivesoftware.openfire.container.Plugin说明:所有自定义插件都必须实现Plguin接口,配置plugin.xml文件每个插件都必须符合规定的插件结构,每个插件将在自己的类加载器加载。

6.2名片信息位置:org.jivesoftware.openfire.vcard.VCardManager说明:名片信息服务管理类,自定的插件中可以取得实例,进行名片信息操作。

获取方法:XMPPServer.getInstance().getVCardManager()方法说明:●public static VCardProvider getProvider() :获取默认数据操作底层实现。

●public String getVCardProperty(String username, String name):根据用户名,VCard属性名称获取对应的属性值。

●public void setVCard(String username, Element vCardElement):保存用户VCard信息。

username,不是JID,不需要带域信息.●public Element getVCard(String username):取得用户VCard信息。

●public void deleteVCard(String username):删除用户VCard信息。

相关主题