openfire开发环境搭建

合集下载

openfire详细安装配置步骤

openfire详细安装配置步骤

openfire详细安装配置步骤说明:红⾊字体可任意改动(但⼀旦改动,后⾯与此对应的名称也要⼀起改动),该⽂档下的步骤是在win7(32位,64位皆可)Eclipse环境下实现的,openfire⽤的是openfire_src_3_8_2版本;第⼀步:在D盘⾥新建⼀⽂件夹openfire_src,把openfire_src_3_8_2/openfire下的所有⽂件夹copy到openfire_src⾥;第⼆步:因为openfire源码中没有包含coherence.jar、coherence-work和tangosol.jar包,所以把这三个包copy到D://openfire_src/build/lib⾥;第三步:启动Eclipse,新建⼯程File-->New-->javaproject,填⼊项⽬名openfire,选中Createprojectfromexistingsource,然后单击Browse...选出在D盘⾥新建的Openfire_src;单击Finish。

第四步:双击openfire,会看到3处错误,第⼀处错误,是由于hazelcast下⾯包⾥的java代码与clustering下⾯包⾥的java代码重复引起的,直接对⽐包名跟java⽂件名即可,然后在clustering源码中删除与hazelcast想同的java代码;完成后hazelcast将没有错误;第五步:plugins中的错误的修正,直接打开plugins中的最后⼀个包,双击SipCommRouter.java找出出错的地⽅,把光标停留在出错部分,系统会⾃动提⽰错误原因,并提供解决⽅案,单击第⼀个⽅案(Addunimplementedmethods),再点击保存(或按Ctrl+S),SipCommRouter.java的错误会消失;SipManager.java的错误也是这样改的(注意它⾥⾯有2处错误),改正后保存,错误会全部消失(包裹src的错误);第六步:删除clustering插件的plug.xml⽂件,双击src--->双击plugins---->双击clustering----->删除plug.xml;然后再右键点击openfire⼯程--->buildpath---->configurationbuildpath会出现界⾯:单击AddFolder...然后把src/i18n和src/resources/jar勾上,单击OK,第七步:使⽤ant编译,单击window->showview->ant,会出现如下图右侧的界⾯,在空⽩区域右击,选择AddBuildfiles...(或者直接单击蜘蛛快捷图标)出现如下窗⼝项⽬名->buil->build.xml,双击build.xml再次右击右侧空⽩区域,选择RefreshBuildfiles进⾏刷新,最后,单击ant窗⼝⾥⾯的run(也就是绿圆⾥有⼀个⽩⾊三⾓形的图标);等Console窗⼝⾥不再弹出编译信息时,再次单击ant窗⼝⾥⾯的run,Console窗⼝最后倒数第⼆⾏会出现BUILDSUCCESSFUL的提⽰;如下图:第⼋步:右击项⽬名openfire,选择Refresh进⾏刷新,会发现多出了两个⽂件夹target和work。

Openfire-java工程搭建

Openfire-java工程搭建

Openfire-java工程搭建Linjunjie一、下载Openfire源代码目前版本为:3.7.0/downloads/download-landing.jsp?file=openfire/openfire_src _3_7_0.tar.gz二、导入Openfire工程到Eclipse1、解压Openfire src包到Eclipse的workspace目录例如,workspace目录为E:\work\project,解压后为2、Eclipse中新建Java Project,并选中上面解压出来的目录,“Finish”3、添加Plugin的依赖包coherence(3.3.1版本,如下),编译通过4、打开Ant view,右键中加入build.xml编译打包脚本5、配置Openfire运行环境1)打开运行配置对话框,新建Java Application配置2)配置运行参数Main标签页中Name:openfireMain class:org.jivesoftware.openfire.starter.ServerStarter选中“Stop in main”Arguments标签页中VM arguments:-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"Classpath标签页中User Entries Advanced->Add Floders添加两个目录:openfire_src\resources、openfire_src\src\i18nCommon标签页中,勾选“Run”、“Debug”“Apply”配置参数。

3)复制配置文件到运行目录拷贝openfire_src\src\i18n\openfire_i18n_en.properties openfire_src\src\resources\jar\admin-sidebar.xml 到openfire_src\bin目录下三、Eclipse编译&运行openfire1、编译通过ant编译,双击Ant脚本2、Run/Debug“openfire”。

openfire服务器搭建

openfire服务器搭建

一、傻瓜式安装服务器二、安装完成后打开Openfire Server三、Launch Admin进行服务器相关设置Next----->Next--->出现错误解决首先设置mySqlNext-->Next-->到此为止:openfire服务器搭建完成mysql> show databases; <-- 看到没有?我有test数据库+--------------------+| Database |+--------------------+| information_schema || mysql || test | ----------------------------------------这里+--------------------+3 rows in set (0.03 sec)mysql> use test;Database changedmysql> show tables; <---------------- 在我没有设置openfire那个的时候,是没有任何表的Empty set (0.01 sec)mysql> show tables; <---------------- 在我配置好openfire所有东西之后出现这些表+----------------------+| Tables_in_test |+----------------------+| ofextcomponentconf || ofgroup || ofgroupprop || ofgroupuser || ofid || ofmucaffiliation || ofmucconversationlog || ofmucmember || ofmucroom || ofmucroomprop || ofmucservice || ofmucserviceprop || ofoffline || ofpresence || ofprivacylist || ofprivate || ofproperty || ofpubsubaffiliation || ofpubsubdefaultconf || ofpubsubitem || ofpubsubnode || ofpubsubnodegroups || ofpubsubnodejids || ofpubsubsubscription || ofremoteserverconf || ofroster || ofrostergroups || ofsaslauthorized || ofsecurityauditlog || ofuser | <----------------------------这个就是用户表| ofuserflag || ofuserprop || ofvcard || ofversion |+----------------------+34 rows in set (0.00 sec)mysql> select * from ofuser;+----------+---------------+-------------------+---------------+-------------------+--------------+------------------+| username | plainPassword | encryptedPassword | name | email| creationDate | modificationDate |+----------+---------------+-------------------+---------------+-------------------+--------------+------------------+| admin | admin | NULL | Administrator | admin@example.c om | 0 | 0 |+----------+---------------+-------------------+---------------+-------------------+--------------+------------------+1 row in set (0.00 sec)Next-->清空一个表中的所有数据所用语句: delete from 表名。

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目录下。

Openfire调试编译开发环境与安装

Openfire调试编译开发环境与安装

调试、编译开发环境Openfire与安装自己实践:说明:开发环境(IDE):Eclipse3.3.2+JDK1.6+Ant1.7+Openfire_src_3_5_1.zip1.如果代码中使用了importtestng.xxx语句,就需要导入testng-5.8-jdk15.jar类库;2.对于警告信息,是没有关系的。

因为这些警告信息是使用1.5以上版本JDK时候才出现的,使用JDK1.4是不会出现这些警告信息的。

因为这些代码中的有些是使用JDK1.4编写的,而JDK1.4不支持泛型,而JDK1.5和JDK1.6是支持泛型的。

这些警告信息主要是提示将这些非泛型的代码修改为更加高级的方法——泛型,所以这些警告信息是不影响代码结果的。

如果需要修改为泛型也是可以,使用泛型来处理相关的集合类。

3.在使用ant进行编译的时候,在ant视图中可能会出现警告如下信息:taskdefclasscom.install4j.install4jtaskcannotfound这个主要是要安装用来打包Java应用程序的install4j.exe程序,要安装到其默认的安装路径下。

也就是C:\ProgramFiles\目录下即可。

4.在源码里面有一个文件夹里有个打包的图标,双击那个图标,install4j就会读取你在build.xml文件里的信息、在里面完成做界面等打包工作。

编译调试的环境(IDE):Eclipse3.3.2+JDK1.6+Ant(内置)+openfire_src_2008-06-04.zip 在Windows操作系统下编译、调试openfire之前,需要确保HTTPSSL服务已经启动。

否则,会出现各种错误信息。

1.获取Openfire源代码从官方网站上直接下载官方发布版本的源代码openfire_src_2008-06-04.zip源代码压缩包;2.创建openfire工程将openfire_src_2008-06-04.zip解压后,目录下除了READEME.html、LICENSE.html和changelog.html三个网页文件之外,有下面四个子目录。

openfire环境搭建

openfire环境搭建

Openfire环境搭建Linux:ubuntu 12.10Win:Windows 7版本:Openfire 3.9.1 Spark 2.6.3 Java统一使用6u45这个版本1Openfire服务器部署(非源码)1.1 Win下:1、安装jdk2、在openfire官网igniterealtime中下载win版的openfire,下载完成后,如果你下载的是exe文件,执行你的安装文件,进行安装。

这里我是zip的文件。

解压后,复制openfire目录到C:\Program Files\目录下;一定要在C:\Program Files\目录下的;这样openfire就安装完成了。

3、启动openfire服务器,并配置它。

在C:\Program Files\openfire\bin目录下有一个电灯泡的openfire.exe文件,双击执行,启动完成后可以看到4、点击Launch Admin按钮进入http://127.0.0.1:9090/setup/index.jsp页面,配置openfire服务器5、后面是选择语言,配置服务器域名。

选择数据库,这里可以选择openfire自带的数据库,即嵌入的数据库。

选择特性配置,默认即可。

管理员邮件,可跳过。

完成安装。

6、进入http://127.0.0.1:9090/login.jsp页面后,输入admin、密码admin登陆进入7、进入后可以看到:1.2 Ubuntu下:1、先去甲骨文官网下载安装jdk(选择Linux x64 或者Linux x86对应链接,注意不要选择rpm.bin的,选择.bin,6u45对应的是jdk-6u45-linux-i586.bin),也不要使用ubuntu自带的openjdk2、安装全程需要root权限,首先获取root权限sudo –s5、然后就是要告诉系统,我们使用的sun的JDK,而非OpenJDK了(注意下面的2行命令--install后面一共四个参数分别是链接名称路径优先级,我们只要修改对应的6、openfire官网下载Linux版的openfire:openfire_3.9.1_all.deb(这个直接双击通过ubuntu软件中心安装),经过以上软件已经完成安装,此时需要修改一下openfire的启动文件如果openfire没有启动,可以通过/etc/init.d/openfire start启动服务。

openfire开发环境配置说明

openfire开发环境配置说明

Openfire开发环境配置说明1、Mysql数据库的安装1.1、方法/步骤1.1安装:双击Setup.exe文件,开始mysql的安装。

出现下面的窗口2. 2点击Next开始下一步安装。

默认是Typical,选择Custom,因为Typical模式不允许改变安装路径,只能安装在C盘3. 3这里需要选择组件和更改文件夹位置,组件可以默认的,位置要选择Change 来改变(注意:安装mysql的路径中,不能含有中文)4. 4 点击Install开始安装5. 5安装完成,看到下面。

当然,我们选择“Skip Sign-Up”。

6. 6点击完成“Finsh”7.7现在开始配置的工作了。

点击Next继续。

选择Detailed Configuration,点Next。

8.下面这个选项是选择mysql应用类型(第一种是开发服务器,将只用尽量少的内存,第二种是普通WEB服务器,将使用中等数量内存,最后一种是这台服务器上面只跑mysql数据库,将占用全部的内存,)这里示例选择开发服务器,占用尽量少的内存,用户可根据自己的需求,选择其他选项。

9.接下来选择数据库用途,(第一种是多功能用途,将把数据库优化成很好的innodb存储类型和高效率的myisam存储类型,第二种是只用于事务处理类型,最好的优化innodb,但同时也支持myisam,最后一种是非事务处理类型,适合于简单的应用,只有不支持事务的myisam类型是被支持的。

)一般选择第一种多功能。

10.下面是选择数据存放位置,默认。

11.选择mysql允许的最大连接数,第一种是最大20个连接并发数,第二种是最大500个并发连接数,最后一种是自定义,你可以根据自己的需要选择12.下面是选择数据库监听的端口,一般默认是3306,如果改成其他端口,以后连接数据库的时候都要记住修改的端口,否则不能连接mysql数据库,比较麻烦,这里不做修改,用mysq的默认端口:3306。

Openfire安装配置

Openfire安装配置

一、环境操作系统:Windows XP SP3Web服务器:Tomcat 6.0.18.0Java Version:1.6.0_21Jvm Version:1.6.0_21-b07Openfire服务器:Openfire 3.7.0 Openfire Plugin:Fastpath Service 4.2.0Fastpath Webchat 4.0.0二、Opernfire环境安装配置1. Openfire下载目前最新版为3.7.0下载地址:/downloads/index.jsp分为两个版本,一个是包含了JRE的安装版本,另外一个是不包含JRE的版本。

也可以分别通过下面两个链接直接下载。

/downloadServlet?filename=openfire/openfire_3_7_0.exe/downloadServlet?filename=openfire/openfire_3_7_0.zip2. Openfire安装将下载的openfire_3_7_0.zip解压。

Openfire的全路径中不能有中文字符,最好主机名也是标准点的英文名称。

3. 运行Openfire服务器直接运行服务器文件。

安装目录\Openfire\bin\openfire.exe。

出现启动界面点击“Launch Admin”,或者在浏览器地址栏输入http://127.0.0.1:9000,进入Opernfire 管理控制台。

初次会进入Openfire设置界面,对Openfire进行初始设置。

3. Openfire初始设置3.1 语言选择:中文(简体)3.2 服务器设置:设置域及服务器管理端口3.3 数据库设置:有两个选项,分别是标准数据库连接和嵌入的数据库。

3.3.1 标准数据库连接,可以使用其他外部的数据库,目前支持5种外部数据库(MySQL、Oracle、Microsoft SQLServer、PostgreSQL、IBM DB2)3.3.2 嵌入的数据库,使用Openfire自带的嵌入式的数据库设置管理员账户的电子邮箱以及管理员登录管理控制台时的密码。

openfire插件开发

openfire插件开发

作用:初始化时在控制台打印测试消息。

开发环境:winxp/myeclipse6.5/jdk1.5&1.6/mysql5.0/openfire3.6.3 QQ群:28588322 (openfire专题研究小组)开发步骤:1. 布署openfire3.6.3源码(请参考openfire3.6.3导入eclipse项目实现方法) 结构如下:2. src/plugins目录下新建文件夹itvi。

并按下图的目录结构新建对应的文件。

plugin.xml文件代码如下:<?xml version="1.0" encoding="UTF-8"?><plugin><class>org.jivesoftware.openfire.plugin.Itvi</class><name>Itvi</name><description>Broadcasts messages to users.</description> <author>openfireteam</author><version>1.7.0</version><date>2/19/2009</date><url></url><minServerVersion>3.6.3</minServerVersion></plugin>Itvi.java文件代码如下:package org.jivesoftware.openfire.plugin;import org.dom4j.Element;import org.jivesoftware.openfire.IQHandlerInfo;import org.xmpp.packet.*;import org.jivesoftware.openfire.handler.IQHandler;import org.jivesoftware.openfire.auth.UnauthorizedException;/*** 处理客户端发来的IQ,并回送结果IQ** @author Phoenix** Mar 14, 2008 4:55:33 PM** version 0.1*/import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.QName;import org.jivesoftware.openfire.XMPPServer;import org.jivesoftware.openfire.container.Plugin;import org.jivesoftware.openfire.container.PluginManager; import org.jivesoftware.openfire.disco.IQDiscoInfoHandler; import org.jivesoftware.openfire.disco.IQDiscoItemsHandler; import org.jivesoftware.openfire.forms.DataForm;import org.jivesoftware.openfire.forms.FormField;import org.jivesoftware.openfire.forms.spi.XDataFormImpl; import org.jivesoftware.openfire.forms.spi.XFormFieldImpl; import org.jivesoftware.openfire.resultsetmanager.ResultSet; import org.jivesoftware.openfire.resultsetmanager.ResultSetImpl; import er;import erManager;import erNotFoundException; import org.jivesoftware.util.*;import ponent;import ponentException;import ponentManager;import ponentManagerFactory;import org.xmpp.packet.IQ;import org.xmpp.packet.IQ.Type;import org.xmpp.packet.JID;import org.xmpp.packet.Packet;import org.xmpp.packet.PacketError;import org.xmpp.packet.PacketError.Condition;import java.io.File;import java.util.*;import java.util.Map.Entry;public class Itvi implements Plugin{private XMPPServer server;/** (non-Javadoc)** @see org.jivesoftware.openfire.container.Plugin#destroyPlugin()*/public void destroyPlugin(){}/** (non-Javadoc)** @seeorg.jivesoftware.openfire.container.Plugin#initializePlugin(org.jivesoftware.openfir e.container.PluginManager,* java.io.File)*/public void initializePlugin(PluginManager manager, File pluginDirectory){server = XMPPServer.getInstance();server.getIQRouter().addHandler(new ItviIQHander()); //System.out.println("测试插件启动成功");}}ItviIQHander.java文件代码如下:package org.jivesoftware.openfire.plugin;import org.dom4j.Element;import org.jivesoftware.openfire.IQHandlerInfo;import org.xmpp.packet.*;import org.jivesoftware.openfire.handler.IQHandler;import org.jivesoftware.openfire.auth.UnauthorizedException;/*** 处理客户端发来的IQ,并回送结果IQ** @author Phoenix** Mar 14, 2008 4:55:33 PM** version 0.1*/public class ItviIQHander extends IQHandler{private static final String MODULE_NAME = "group tree handler";private static final String NAME_SPACE = "com:im:group";private IQHandlerInfo info;public ItviIQHander(){super(MODULE_NAME);//info = new IQHandlerInfo("gruops", NAME_SPACE);info = new IQHandlerInfo("query", "jabber:iq:roster");//这里我们对”联系人”的IQ进入监控}/** (non-Javadoc)** @see org.jivesoftware.openfire.handler.IQHandler#getInfo()*/@Overridepublic IQHandlerInfo getInfo(){return info;}/** (non-Javadoc)** @seeorg.jivesoftware.openfire.handler.IQHandler#handleIQ(org.xmpp.packet.IQ) */@Overridepublic IQ handleIQ(IQ packet) throws UnauthorizedException{IQ reply = IQ.createResultIQ(packet);Element groups = packet.getChildElement();//1if (true){System.out.println("非法的请求类型111111");}if (!IQ.Type.get.equals(packet.getType())){System.out.println("非法的请求类型");reply.setChildElement(groups.createCopy());System.out.println("返回的最终XML-SetError前"+reply.toXML());reply.setError(PacketError.Condition.bad_request);System.out.println("返回的最终XML-SetError后"+reply.toXML());return reply;}//String userName =StringUtils.substringBefore(packet.getFrom().toString(),"@");//GroupManager.getInstance().initElement(groups,userName); //reply.setChildElement(groups.createCopy());//2//System.out.println("返回的最终XML" reply.toXML());return reply;}}3.打包插件a.第一次打包需配置ant工具。

CentOS平台Openfire搭建过程

CentOS平台Openfire搭建过程

CentOS平台Openfire搭建过程2011-03-24Openfire简单描述:Openfire是基于jabber服务器架构的即时通讯软件服务器端。

开源,支持XMPP协议,因此,可以作为通用的XMPP客户端的服务器端。

注意,安装Openfire之前需要安装的一些前置软件,它们是jdk、MySQL、apache Ant,有了以上的东西的支持就可以搭建openfire了。

Step 1:安装jdk 1.6【转载/cceclee/blog/item/658967af0696c3c97dd92a74.html】下载jdk-6u3-linux-i586.bin# chmod +x jdk-6u3-linux-i586.bin# ./jdk-6u3-linux-i586.bin# mv jdk1.6.3 /usr/local/ ----------移动位置# mv jdk1.6.3 jdk1.6 ----------文件夹改名配置环境变量# vi /etc/profile在末尾追加#Java environmentexport JAVA_HOME=/usr/local/jdk1.6export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH:wq保存退出。

# source /etc/profile -------------使配置生效检验:执行# java -version 命令,显示java version "1.6.0_03"Java(TM) SE Runtime Environment (build 1.6.0_03-b05)Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)Step 2:安装MySQL为了省去麻烦,我把MySQL的文件都以yum方式安装了。

Openfire优化

Openfire优化
2.Openfire直接连接数据库,需要加入memcached作为数据库缓存。
3.Openfire集群据说有性能问题,需要找到瓶颈。
4.服务器最终应选为CentOS,而非ubuntu
此时ulimit –n查看远端服务器最大文件数限制仍然为1024,会导致集群的从服务器最大只能创建1000个左右的模拟用户,需要在/etc/profile中加入:
ulimit -SHn 65535
在tsung测试压力前可以通过执行erl来测试集群是否成功,shell中执行erl:
>erl -rsh ssh -sname root -setcookie mycookie
Eshell V5.8.5 (abort with ^G)
(root@kf2test01)1>slave:start(kf2test02,root,"-setcookie mycookie").
/home/david/java/jdk1.8.0_05//bin/java -server -DopenfireHome=/usr/share/openfire -Dopenfire.lib.dir=/usr/share/openfire/lib -classpath /usr/share/openfire/lib/startup.jar -jar /usr/share/openfire/lib/startup.jar
以三台测试机(可以用虚拟机采用桥接模式)为例,假设机器名称为kf2test01、kf2test02、kf2test03,IP分别对应为172.28.23.180、172.28.23.181、172.28.23.182。
分别在在各机器的/etc/hosts上加入:

openfirespark二次开发服务插件

openfirespark二次开发服务插件

openfirespark二次开发服务插件==================== 废话begin============================最近老大让我为研发平台增加即时通讯功能。

告诉我用comet 在web端实现即时通讯。

最初狂搜集资料。

不能让自己方向错了。

这是很重要的。

不过还是难免的周折了一番。

测试了一个comet4j的聊天小例子。

用它前后端开发成本太大、对服务器也太大压力放弃了。

最终决定使用openfire +jsjac.js + JabberHTTPBind 然后实现老大要求的web 及时通讯功能。

很庆幸找到了hoojo大哥的demo 很不幸,他为了让大家复制代码,自己练习。

不提供jar包js下载。

(虽然好心但是足足浪费了我两天时间)一个jsjac.js库版本有问题。

很费劲的看源码。

哎。

然后、拿这个小demo 先交差。

顺便展示了spark 和web 聊天窗口,交互即时聊天。

顺便构想了一下,修改openfire用户表。

让用户来自系统。

组织则用自带的。

(当然这是预想。

其实openfire已经帮我们想过了。

)接着、全局搜索了openfire源码中包含ofuser表sql的类。

只有两个类。

很庆幸。

改了之后,改造用户密码加密认证方式。

当然这样做是错误的。

直到我发现类名字似乎有些不对的时候。

DefaultUserProvider 哈哈、嘲讽啊。

不出所料有一个实现类JDBCUuserProvider 。

直接配置就可以搞定、但是加密sha256加密过程和我平台不一样。

改造后就顺利搞定。

接着、到了插件开发过程。

这个过程很烦人。

网上很多帖子很多人去讲这个开发过程。

或许是两三年前的贴了。

很多过时了。

只能有一点帮助。

更多的是走向了错误的道路。

磕磕碰碰。

最终还是只能从源码中寻求出路。

这个过程整整浪费了我两星期时间。

很痛苦。

所以。

我会针对最新代码聊聊,spark 开发一个组织架构树插件。

展示出用户。

并可以与之聊天。

openfire开发文档

openfire开发文档

Openfire开发文档修订记录目录1OPENFIRE项目工程搭建及调试 (1)1.1准备工作 (1)1.2解压源码 (1)1.3创建工程 (2)1.4编译 (3)1.5配置调试与运行环境 (5)1.6打包发布 (10)2OPENFIRE代码框架介绍 (10)2.1框架 (11)2.1.1Module (11)2.1.2数据流 (13)2.2O PENFIRE与MIMA (13)2.3M ULTI-U SER-C HAT (14)2.3.1MUCUser (14)2.3.2MUCRole (15)2.3.3MUCRoom (15)2.3.4MultiUserChatServiceImpl (15)2.3.5时序图 (16)2.4P UB-S UB (16)2.4.1Node (16)2.4.2NodeAffiliate (17)2.4.3NodeSubscription (17)2.4.4PubSubModule (17)2.4.5PubSubEngine (18)2.4.6时序图 (18)2.5插件开发 (19)2.5.1注册为组件 (19)2.5.2注册为拦截器 (19)2.5.3注册为IQHandler (20)2.6命名规则 (21)2.6.1XXStarter (21)2.6.2XXListener (21)2.6.3XXDispatcher (21)2.6.4XXPlugin (21)2.6.5XXProvider (21)2.6.6XXHandler (22)2.7系统配置项 (22)2.8系统启动流程 (23)2.9网络处理 (23)2.9.1presence(出席状态)消息处理流程 (23)2.9.2消息监听服务 (25)2.9.3消息封装 (26)2.9.4Openfire消息包接受处理流程 (27)2.10数据库处理 (28)2.10.1Openfire连接数据库修改 (28)2.10.2ConnectionProvider (28)2.10.3处理方式 (28)2.10.4常用类 (28)3OPENFIRE插件开发流程 (29)3.1O PENFIRE P LUGINS加载流程 (29)3.2开发说明 (29)3.2.1总体插件目录结构 (30)3.2.2编写Plugin.xml (30)3.2.3继承Plugin接口 (33)3.2.4插件开发的最优方法 (34)3.2.5JSP页面配置步骤 (34)3.2.6i18n国际化配置 (37)3.2.7Ant build 插件 (38)4OPENFIRE 的CACHE机制 (39)4.1实现机制 (39)1Openfire项目工程搭建及调试Openfire的最新源码3.7.1下源码的运行及打包1.1 准备工作开发工具:Eclipse源码下载:官网地址/downloads/source.jsp,当前最新版本为3.7.1。

Openfire即时通讯服务搭建与Smack访问

Openfire即时通讯服务搭建与Smack访问

Openfire即时通讯服务搭建与Smack访问Openfire是开源的、基于可拓展通讯和表示协议(XMPP)、采用Java编程语言开发的实时协作服务器。

Ope nfire安装和使用都非常简单,并利用Web进行管理单台服务器可支持上万并发用户。

首先到openfire官网上去下载Openfire的服务器包与Smack的客户端调用包。

6Openfire 1%**)勵州r| ■t*3!- A*.Spark 2 e.2L ・・鼻l-e c<乍M/EWe严*rwr E»h Vw ntfFV Smack 419E AITI1 191 «tw 4>*3i JCMM1 eiitnflEi^ririjL*"*!!津阿*打开肓在这里可U看對有0penfire > S(jarK> Smack这三个东函”敦简单释一下它们分別皐什么* Openfire^r 跑在服莓黠的・和刑与Sm耳*星跑在客户如上的』而Spar+ lS 经构逹好的应用程序•下玄下来安装即可德用(看下面的戡圉)t Smaci^K供访问Openfire^^用授口.就县曲开潢塔代码的啦.Openfire下载后,如果是win的版本,那么它是一个exe的安装包,运行下一步下一步即可,其间会需要配置数据库(Openfire当然是需要数据库支持的了,比如要存帐号等等的信息)。

Openfi译安算感功后・TaSmacWft i劭也含言相应播口的larfi,导入列我们的工程更(不同版本的smzckj印可龍会不主一祥)h S WKkjtrb R wnKld-|*r卜二tmtdai编写我们的程序访问Operfire[java] view pla in copyimport java.util.Collectio n;import java.util.I terator;import javax .n et.SocketFactory;import org.jivesoftware.smack.Acco un tMa nager; import org.jivesoftware.smack.Chat; import org.jivesoftware.smack.ChatMa nager;import org.jivesoftware.smack.ChatMa nagerListe ner; import org.jivesoftware.smack.C onn ectio n;import org.jivesoftware.smack.C onn ectio nCon figurati on; importorg.jivesoftware.smack.MessageListe ner; import org.jivesoftware.smack.Roster;import org.jivesoftware.smack.RosterE ntry;import org.jivesoftware.smack.XMPPC onn ectio n; importorg.jivesoftware.smack.XMPPExceptio n; import org.jivesoftware.smack.packet.Message; import org.jivesoftware.smack.packet.Prese nee; importorg.jivesoftware.smack.packet.Sessi on; importorg.jivesoftware.smack.packet.Message.Type;public class SmackUtil {private Connection conn ecti on;private ConnectionCon figurati on con fig; /** ope nfire 服务器address */private final static Stri ng server = "10.100.53.65";private final void print(Object o) {if (o != n ull) {System.out.pri ntl n( o);}}。

OpenFire 插件开发基础教程

OpenFire 插件开发基础教程

O p e n F i r e插件开发基础教程(总3页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除OpenFire 插件开发基础教程Openfire是一款优秀的XMPP服务器,而且是开放源码的.大家可以根据自己的需求进行二次开发。

二次开发主要有两种方式:1.修改源代码,2开发openfire插件。

从可扩展性上考虑,自然是开发插件是上策,只有插件无法实现时候才会选择修改源代码。

下面就个人经验,说明一下如何开发openfire插件一、环境基础要有一个配置好的openfire开发环境,这个网络上有比较详细的教程了。

比如《源代码导入eclipse中开发配置指南》和《源码部署及运行》,这时候ant应该是可以正常运行的,先执行openfire 【default】,就生成了openfire的目标代码,再执行plugins,就个生成所以系统自带的插件。

二、目录拷贝打开workspace\openfire_src\src\plugins目录,找一个要修改的插件,我选的是subscription,拷贝生成“subscriptionUF”。

打开src目录,里面有两个文件夹,java就是我们要改的源码,而web里面是修改这个插件所要用的web配置页面,目前用不到,直接删除。

三、修改这个一个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,生成所有插件的同时生成我们修改的插件,固然可行,就是慢了一点,插件有什么错误也要找半天。

linux下安装openfire

linux下安装openfire

ubuntu下安装openfire前两天同事安装openfire+spark,可是我的spark客户端总是掉线(1-2小时左右),我想找到是什么原因(非常急迫想用openfire换掉RTX,每次开个虚拟机就是跑RTX,烦得不行),刚好下午有点时间,于是试验了一下,进展非常顺利。

参考了这篇参考文章2参考文章3参考文章4参考文章5参考文章6openfire数据库结构参考文章7环境准备:(ubuntu server+LAMP)为了避免环境的影响,我没有用ubuntu server 10.04(其实我们的生产环境都是centos),而是用的ubuntu server 8.04(主要是我的桌面一直是ubuntu,懒得再查centos文档),初始安装,选择LAMP包,然后升级打好补丁(我做了一个镜像,在vmware station中,其实没有用到)设置mysql root帐户密码:(如果mysql没有设置密码可以这样设置)1. $ mysql -u root2. mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";∙为了使用方便,我还装了图形桌面$sudo apt-get install ubuntu-desktop$startx开始安装:∙安装java(参考这篇帖子)$ sudo apt-get install sun-java6-bin$ sudo update-alternatives –config java因为是初始安装,系统没有安装java,否则可能需要$ sudo update-alternatives --config java切换java版本∙安装phpmyadmin,建立一个openfire数据库,整理格式选择”utf-8_unicode_ci”(phpmyadmin的使用参见这里)$sudo apt-get install phpmyadmin∙下载安装openfire(openfire 3.6.4 主站deb包)$sudo dpkg -i openfire_3.6.4_all.deb∙配置openfire(参考这里)中文问题:注意在选择数据库的时候将jdbc:mysql://[host-name]:3306/[database-name]改为:jdbc:mysql://localhost:3306/openfire?useUnicode=true&character Encoding=UTF-8&characterSetResults=UTF-8。

Openfire二次开发问题分析及解决

Openfire二次开发问题分析及解决
2.1 插件开发分析
2.1.1 新插件要在 Openfire\src\plugins\ 中声明该插件 新建一个该插件的文件夹, 一般情况下所必须的文件有: (1) lib 文件夹: 存放所需类库。 (2) src 文件夹: 存放相关源文件。 (3) database 文 件 夹 : 位 于 sec 文 件 夹 下 , 如 果 插 件 需 要
匦查妥??盯workcommunic盯旧???????????????????????????????openfire二次开发问题分析及解决苑为陶卓彬摘要
NETWORK & COMMUNICATION
网络与通信
O penfire 二次开发问题分析及解决
苑 为 陶卓彬
摘 要: 随着计算机技术的迅猛发展, 开源软件的二次开发利用逐渐成为进行快速开发的主要手 段。 针对利用开源软件 Openfire 二次开发搭建即时消息系统平台时遇到的问题, 分析并提出了相 应的解决方案, 并阐述了这些方案的实现。 关键词: Openfire; 即时消息系统; 二次开发
数 据 库 的 库 表 结 构 操 作 , 例 如 新 建 表 、 新 建 字 段 等 , 将 SQL 文 件 放 于 此 文 件 夹 下 , 该 文 件 夹 下 的 SQL 文 件 会 在 插 件 加 载 时运行, 完成所需数据库的相关操作。
(4) i18n 文 件 夹 : 存 放 国 际 化 文 件 , 即 相 关 的 文 字 显 示 。 Openfire 的 相 关 显 示 文 字 都 在 i18n 中 后 缀 名 为 properties 的 文 件中定义, 在程序中直接引用相关定义, 完成语言转换时的显 示工作。
“您好, 诚意??请您加入会议。” 并 且 这 些 “??” 不 是 每 次 都 出 现 , 相 同 的 语 句 、 相 同 的 操 作 也 是 时 有 时 无 。 于 是 , 在 调 试 环 境 下 对 Openfire 源 代 码 流 程 进 行 了 跟 踪 , 发 现 问 题 出 现 在 XMLLightweightParser.java 文件中。 public void read(ByteBuffer byteBuffer) throws Exception {

开发环境搭建文档

开发环境搭建文档

开发环境搭建文档
1. 安装.
- 前往.官方网站(://./)下载适合您操作系统的最新版本 - 按照安装向导完成安装过程
2. 安装
- 用户可前往官网(://-./)下载并安装
- 用户可使用进行安装: ` `
- 用户可根据发行版本的包管理器进行安装
3. 安装/文本编辑器
- 推荐使用 (://../)
- 其他流行选择包括、等
4. 克隆项目代码
- 打开终端/命令提示符窗口
- 导航到您想存放代码的目录
- 运行 ` [项目仓库地址]`
5. 安装项目依赖
- 导航到项目根目录
- 运行 ` ` 安装所有依赖包
6. 运行开发服务器(可选)
- 大多数现代前端项目需要开发服务器进行热重载等
- 查阅项目文档了解如何启动开发服务器
- 通常运行 ` ` 或 ` `
7. 开始开发
- 使用/文本编辑器打开项目
- 查阅项目文档了解项目结构和开发工作流
- 开发新功能、修复并提交代码
8. 构建发布版本(可选)
- 大多数项目需要构建优化后的发布版本
- 查阅项目文档了解构建命令
- 通常运行 ` `
恭喜您完成了开发环境的搭建!您现在可以开始编码并为项目做出贡献了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Openfire 开发环境搭建
说明: 开发环境(IDE):openfire -3.7.1 +
eclipse-4.2.0
+
jdk-1.7
1. 将 openfire 的源文件拷到 Eclipse 的工作空间中,以源文件名称创建 openfire 的 java 项目
2. 项目有错误是因为 jar 包没有加进来,右键点击项目选择 Properties,java build path-->Libraries 选 卡,Add Jars,选择 openfire 项目 build/lib 下所有的 jar 包,添加
1
3. 此时 project 有错误,下载三个 jar 包:coherence.jar,coherence-work.jar,tangosol.jar,保存在任意文 件夹 4. 在 eclipse 的 Package Explorer 中选中前面建立的 project,右键—>Properties-->java build path-->Libraries 选卡, Add External Jars,选中下载的三个包,完成 5. 此时仍旧有错。源代码中部分 class 继承自 abstract 类,但 abstract 方法没有全部实现,需手动改 正 6. 复制 src/i18n/openfire_i18n_en.properties 和 src/resources/jar/admin-sidebar.xml 两个文件,到项目 下的 bin 目录。 7. 开始用 ant 编译源文件。切换到 ant 视图:菜单栏 ->show view->ant 8. 在 ant 中选 add buildfiles 按钮,在 project 中选 build/build.xml,然后用 ant 编译,直 到编译成功 如果编译出错,是因为 ant 版本不对(太高了)。在 build.xml 中找到下面语段
2
</not> </condition> 在<contains string="${ant.java.version}" substring="1.6"/>后面加上语句 <contains string="${ant.java.version}" substring="1.7"/>
9. 编译完成后,配置运行参数。 菜单栏runrun configurations, 在出现的对话框中选择 java application>Arguments, 在 VM Arguments 中输入 -DopenfireHome="${workspace_loc:openfire }/target/openfire" 再选择 Classpth>User Entries,然后点击 Advanced>Add Folders,选取项目下的 resource 文件和 src/i18n 文件添加进来 再选择 Main>main class>search,选择 org.jivesoftware.openfire.starter.ServerStarter, 完成主类设置
<condition property="java.not.ok" value="true"> <not> <or> <contains string="${ant.java.version}" substring="1.5"/> <contains string="${ant.java.version}" substring="1.6"/> </or>
12.在浏览器中输入控制台中的 URL 地址,进入 openfire 服务器的配置页面配置即可。
5
ቤተ መጻሕፍቲ ባይዱ
3
4
10. 项目构建完毕,点击 run,运行项目,控制台输出信息,可能出现以下错误 ERROR AdminConsole:248 - Failed to load admin-sidebar.xml file from Openfire classes - admin console will not work correctly. 解决方式:把 src/resources/jar/admin-sidebar.xml 这个文件拷入项目下的 bin 目录 (重新编译运行过程中此 xml 文档可能丢失,需再次加入) 11. 运行成功后,在控制台输出如下信息
相关文档
最新文档