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插件编译及部署插件编译1、编译参数配置打开eclipse或者Myeclipse,点击菜单栏里的run选项,在其下拉菜单中选择External Tools按钮,在它的下一级菜单中点击External Tools Configuration即可进入配置页面。

如图1所示。

图1图2所示为配置页面。

图2选择左侧导航栏中的Ant Build选项,点击新建按钮来新建一个编译配置。

如图3所示。

图3接下来就可以来配置插件的编译参数了。

首先,在Name框中为该编制配置项命名以示区别,如图4所示:图4其次,打开Main选项卡,点击在Buildfile框下面Browse Workspace按钮,来选择用来编译插件的Build文件,它的目录是openfire/build/build.xml。

如图5所示。

图5完成后框内显示数据为“${workspace_loc:/openfire/build/build.xml}”,如图6所示。

图6再填写Arguments框,内容格式为“-Dplugin=XXXX”,其中“XXXX”是我们要编译的插件名。

完成后如图7所示。

图7打开Targets勾选plugin,若编译所有插件就勾选plugins,完成后如图8所示。

图8再打开Common选项卡,设置编译的编码格式一般为UTF_8格式。

完成后如图9所示。

图9最后点击按钮保存设置,点击就可对插件进行编译。

2、检查编译结果当控制台出现编译成功的结果时,即代表编译已经完成,如图10所示。

图10在openfire/target/plugins目录,出现对应的插件jar文件,就代表编译成功了!如图11所示。

图11最后,将编译好的插件jar文件复制出来,以备上传导服务器。

插件部署首先,访问openfire服务器的管理控制台,URL是http://服务器IP:9090。

输入管理员用户名和密码。

如图12所示。

图12登录进入后,选择“插件”网页中机会显示服务器目前所安装的所有插件,如图13所示。

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启动服务。

XMPP开源服务器Openfire的安装和配置指南

XMPP开源服务器Openfire的安装和配置指南

XMPP开源服务器Openfire的安装和配置指南Openfire 的安装和配置1、下载最新的openfire安装文件官方下载站点:下载地址:Exe:ZIP:我使用的是zip解压版的安装文件。

其中openfire是服务器,下面还有一个spark,这个是一个XMPP协议通信聊天的CS的IM软件,它可以通过openfire进行聊天对话。

2、下载完成后,如果你下载的是exe文件,执行你的安装文件,进行安装。

这里我是zip的文件。

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

3、下面我们启动openfire服务器,并配置它。

在C:\Program Files\openfire\bin目录下有一个电灯泡的openfire.exe文件,双击执行,启动完成后可以看到4、点击Launch Admin按钮进入页面,配置openfire服务器5、选择语言中文简体点击continue进入6、配置服务器域名如果你是本地访问,那么你可以不修改或是使用localhost、127.0.0.1的方式如果你用于外网或局域网访问,那么你的地址配置成外网或局域网地址7、选择数据库选择openfire自带的,当然你也可以选择你的数据库类型。

如Oracle、SQLServer、MySQL等。

如果openfire没有带jdbc的连接驱动,你需要添加连接数据库的jdbc驱动;驱动放在C:\Program Files\openfire\lib目录下8、选择特性配置,默认即可9、管理员邮件,可以跳过这步10、安装完成进入管理员控制台页面11、进入页面后,输入admin、密码admin登陆进入12、进入后可以看到服务器名称就是jwchat的连接地址;你可以使用Spark、jwchat 链接这个地址进行IM通信聊天……至此,openfire的安装和配置已经完成。

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自带的嵌入式的数据库设置管理员账户的电子邮箱以及管理员登录管理控制台时的密码。

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参数

openfire参数
Openfire是一个开源的即时通讯服务器,用于构建和管理企业级即时通讯系统。

它具有丰富的功能和灵活性,可以提供安全、可靠的实时消息传递服务。

在使用Openfire时,可以通过配置文件或命令行参数来设置服务器的一些参数。

以下是一些常见的Openfire参数的示例:
1. `--debug`: 启用调试模式,输出详细的日志信息,用于排查问题。

2. `--config`: 指定配置文件的路径。

可以使用自定义的配置文件来覆盖默认配置。

3. `--port`: 指定服务器监听的端口号。

默认情况下,Openfire使用5222端口提供客户端连接。

4. `--adminconsole.port`: 指定管理控制台的端口号。

默认情况下,Openfire使用9090端口提供Web管理界面。

5. `--adminconsole.host`: 指定管理控制台的主机名或IP地址。

6. `--adminconsole.contextPath`: 指定管理控制台的上下文路径。

7. `--proxy.externalip`: 指定外部代理服务器的IP地址或主机名。

用于配置Openfire在防火墙/代理后的部署。

8. `--proxy.port`: 指定外部代理服务器的端口号。

这只是一小部分Openfire可用的参数示例,实际使用时可以根据需求和环境进行适当的配置。

您可以参考Openfire的官方文档或使用`openfire --help`命令获取更多参数的详细说明。

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上加入:

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编译和运行

openfire编译和运行

Openfire源码部署以及编译运行一、Openfire源码下载1)可以去官方网站:官网地址/projects/openfire/。

2)也可以利用eclispe自带的SVN插件导入,再次就过多介绍,官网上写的很清楚。

二、源码部署编译将源码解压到硬盘上。

如图:建立一个Java Project,并且项目名称一定要写成“Openfire”,否则会出错。

选中Create project from existing source项;在Directory中输入源码的路径(此值与第一个图的地址是相同的)具体操作如下图源码导入之后如下图所示,此时openfire是不可以运行的,还需要编译和配置。

1)接下来进行服务器编译配置,点击图标下拉菜单,选择“External ToolsConfigration”选项。

如下图:编译配置项命名,再次我就命名为openfire,也可以自己随意填写。

译代码的文件,他是一个叫做build.xml的配置文件。

如下图所示:果再选择“Targets”选项卡,勾选openfire选项然后选择“Common”选项卡,勾选“External Tools”,这样在以后编译时就不需要重复配置了,还要选择好适当的编码格式,一般情况下选择“UTF-8”,最点击“Apply”和run来运行编译程序。

等待最后控制台出现编译成功字样,编译就完成了。

如图:注意:有时候控制台再出现“BUILD SUCCRSSFUL”还会出现“警告”、“错误”等字样。

对“警告”我们可以忽视,但是对于出现的“错误”,我们要及时修改,一般的错误就是找不到类或方法和汉字乱码,这时你要看看他所需要的jar包是否齐全,某些java文件是否与编译是设置的一至。

三、Openfire运行配置点击运行按钮下拉菜单选择“Run Configration”进入如下页面:在“Main”选项卡的的“Probject”中,选择当前项目,如图:这个是整个openfire服务器的总入口,负责启动openfire服务器。

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

openfire开发环境搭建

openfire开发环境搭建
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 中找到下面语段

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源码部署心得

一.部署1解压openfire源码放到workspace下.建立一个java project,名字与解压后源码文件夹名字一样,这样就可以把openfire源码导入到eclipse中2.使用ant进行编译。

在openfire项目导入进来之后,点击Window -> Show View -> Ant然后就会显示出Ant的窗口,在Ant 视图中,单击右键,在弹出的快捷菜单中选择Add Buildfiles在弹出的对话框中,展开openfire_src/build文件夹,选择build目录下的build.xml接下来双击执行openfire[default] (带一个三角符号的那个)在控制台中显示“BUILD SUCCESSFUL” 那么就表示编译成功,3.设置启动项目点击openfire_src项目,在菜单栏中选择Run->Open Run Dialog (Or Run->Run Configurations)弹出一个对话框,在左侧菜单中右键点击Java Application,选择New创建启动配置在Run窗口的Main选项卡中, 修改最上面Name文本框中的值,改成包含要启动的类的工程名openfire_src(没什么用,就是一个标识,随便起名字。

)在Run窗口的Main选项卡中,project框中填写:openfire_srcMain class 填写:org.jivesoftware.openfire.starter.ServerStarter点击Apply应用。

点击进入Arguments选项卡,在上面那个框(VM arguments:)中填写-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"其中${workspace_loc:openfire_src} 中的 openfire_src 要根据你的项目名来进行同步修改。

Openfire集群部署不完全手册

Openfire集群部署不完全手册

Openfire集群部署不完全手册在csdn和javaeye阅读了无数的技术博客,每一篇都让本人受益匪浅,当然时间久了,很多也都忘了,呵呵。

于是从现在开始自己也尝试着写技术博客,把自己工作与生活遇到的点滴分享给大家,也希望大家阅读了我的博客也能有点滴的收获,那都是对本人最大的鼓励,哈哈!第一次写技术博客,其实不知从何入手,果然如我所想,想把一件技术事件表述清楚是一件很困难的事情。

作为典型的码奴,性格孤僻、不善言辞、老实吧唧一直是我们的通病,但其实很多码奴都怀抱着Coding Changes the World的梦想;可惜在天朝,很多人包括本人,暂时也只能把Coding做为一种纯生存技能,也俗称“搬砖”….好像跑题了……扯淡的话先不多说,现在正式开始了,哈哈!相信很多具有即时通讯功能的项目在架构时,都会了解到Openfire,当然很多有米的公司是直接使用一些服务商提供的即时通讯系统,如环信等。

简简单单来了解下Openfire,Openfire就是实现了XMPP通讯协议的开源即时通讯系统,基于java实现,部署简单,稳定高效,社区活跃,集群方案较成熟、基于插件的扩展性也是相当令人称赞,项目的维护者是相当得负责任,现在也是不断地更新版本中。

咋一说,赶紧去Openfire的官网瞄一眼,版本已经更新到4.0.1了!天啊噜,版本帝,您可别太快啊,公司的项目跟不上您的升级步伐啊….好吧,我们还在用着旧版本…现在开始我们的正题吧,一起来实现Openfire的集群部署。

Openfire集群部署方案使用Openfire的集群插件Hazelcast Clustering Plugin完成openfire的集群部署;并使用Nginx作为整个openfire集群的负责均衡服务器。

集群部署服务器信息我们这次部署的服务器信息如下,这几台服务器都是在同一个局域网下。

当然我没这么多物理机器了,CentOS6.5的服务器都是我安装的虚拟机,你懂得…我们将把两台Openfire的服务器做一个集群;当前还部署了一台前端的负载均衡服务器。

openfire二次开发

openfire二次开发

源码部署及编译1.将openfire源码解压2.将解压后的源码拷贝到Eclipse的工作空间中3.把源码openfire_src文件中build中有个eclipse文件夹,一个settings文件夹和classpath,project两个文件,将他们都复制到和build同级,并从其他项目中拷“.classpath"和".project",这两个文件,都是带点的!然后将eclipse文件夹中拷贝出来classpath,project 两个文件中内容分别替换掉对应.classpath,.project中的内容,就可以把classpath,project 两个文件删除掉了。

4.在Eclipse中导入openfire_src工程此时,会有这样的错误:这是由于缺少jar包引起的:将移除,在build的lib中,将没有build path的jar包Add To Build Path5.完成上部操作后,会有下面的错误:添加jar包,Add To Build Path 此时会有下面的错误实现借口中的方法即可将build—>lib下的jar包build path 6.编译7.运行选中项目,右键—>Run As—>Run Configuratios点击Search,输入ServerStarter选中Arguments选项卡,在VM arguments中填入-DopenfireHome="${workspace_loc:openfire_src}/target/openfire" ****千万注意DopenfireHome前面有个“-”选中Classpath选项卡,选中User Entries,点击右边的Advanced按钮选择Add Folder添加src/i18n 确定选择Add Folder添加resources/i18n 确定选择右侧的Advanced…–>选择Add Folderbuild/lib/dist 确定选择右侧的Advanced…–>选择Add Foldersrc/resources/jar 确定点击Apply,Run集群说明:如果使用源码做集群,则需要将src/plugins/clustering/src/java整个包删除,否则与hazelcast有冲突1.所有集群的域必须相同2.安装Hazelcast Clustering Plugin3.进入plugins—>hazelcast—>classes打开hazelcast-cache-config.xml文件,修改<network>下的代码为:<port auto-increment="true">5701</port><join><multicast enabled="false" /><tcp-ip enabled="true"><member>192.168.1.5</member><member>192.168.1.16</member><member>192.168.1.17</member></tcp-ip><aws enabled="false"/></join>或者:<join><multicast enabled="false" /><tcp-ip enabled="true"><member>192.168.1.5:5701</member><member>192.168.1.16:5701</member><member>192.168.1.17:5701</member></tcp-ip><aws enabled="false"/></join>4.重启服务器,点击Clustering查看集群中的节点重置openfire:将conf下的openfire.xml文件中的<setup>true</setup>删掉,重新进入http://localhost:9090进行配置即可Nginx负载均衡首先将pcre-8.34.tar.gz、zlib-1.2.8.tar.gz、nginx-1.7.3.tar.gz、nginx_tcp_proxy_module-master.zip 上传到linux系统中安装make:yum –y install gcc automake autoconf libtool make安装g++:yum install gcc gcc-c++安装pcre库将下载的pcre库解压,移动到usr/local/src目录中(这个目录可以随便指定)cd pcre-8.34./configuremakemake install安装zlib库将下载的zlib库解压,移动到usr/local/src目录中(这个目录可以随便指定)cd zlib-1.2.8./configuremakemake install安装openssl:yum –y install openssl openssl-develnginx默认只支持http负载均衡,为了让nginx支持tcp负载均衡,还需要https:///yaoweibin/nginx_tcp_proxy_module这个项目。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Openfire调试、编译开发环境与安装自己实践:讲明:开发环境(IDE):Eclipse 3.3.2+JDK1.6+Ant 1.7+Openfire_src_ 3_5_1.zip1. 如果代码中使用了import testng.xxx语句,就需要导入testng-5.8-jd k15.jar类库;2. 关于警告信息,是没有关系的。

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

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

这些警告信息要紧是提示将这些非泛型的代码修改为更加高级的方法——泛型,因此这些警告信息是不阻碍代码结果的。

如果需要修改为泛型也是能够,使用泛型来处理有关的集合类。

3. 在使用ant进行编译的时候,在ant视图中可能会显现警告如下信息:taskdef class com.install4j.install4jtask cannot found那个要紧是要安装用来打包Java应用程序的install4j.exe程序,要安装到其默认的安装路径下。

也确实是C:\Program Files\名目下即可。

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

编译调试的环境(IDE):Eclipse 3.3.2+JDK1.6+Ant(内置)+openfire _src_2008-06-04.zip在Windows操作系统下编译、调试openfire之前,需要确保HTTP SS L服务差不多启动。

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

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

build名目:build名目下收录的是生成安装文件(例如:rpm)所要的一些文件,例如JRE等。

resources名目:resources名目下收录的是一些为实现国际化(i18n)和本地化的一些编码文件(例如:英文,中文,法文,德文等)。

documentation名目:documentation名目下收录的是一些关于Openfire 安装和配置的信息,但最终要的是那个地点有Openfire开发的Javadoc。

src名目:那个src文件夹确实是我们想要的Openfire源代码了,这下面又有许多文件夹,我们只要Java文件夹就好,那个地点面实现的Openfi re的核心功能,通过它就能够调试Openfire。

如果您是做二次开发,为了定制自己的服务器端,就能够采纳如此方法:(1)新建工程:File->New->Project->Java Project,单击Next,在Pro ject name文本框中输入工程名:openfire,单击Finish(2)解压后得到的openfire_src_3_5_1\src名目下所有内容复制到新建的工程名目workspace\openfire下(3)在Package Explorer视图中,右击openfire工程,选择Properties,在弹出的对话框中选择Libraries->Add JARs..,把openfire_src_3_5_1/build/ lib名目下的*.jar类库全部添加进来;选择Source标签页,Add Folder..,选中src/java名目前的复选框,点击OK,点击OK按钮。

(在Eclipse中将此Java文件夹当成源代码文件夹新建工程,建立新工程后观看Openfire所import的包,发觉Openfire用了许多开源工具,而这些库都在上文提到的Build名目的lib名目下,将Openfire用到的库都添加到那个新建工程的Referenced Libraries中。

或者如果如此一个一个添加比较苦恼的话还有一个方法确实是从你安装好的Openfire服务器名目下的lib 名目中(例如:”D:\Program Files\Openfire\lib”或“/usr/local/openfire/lib”)找到openfire.jar,打开后将里面的org/jivesoftware删除,重新打包成jar并添加到那个新建工程的Referenced Libraries中,如此就能够省去了专门多类似的工作。

)(4)然而如此新建的openfire项目没有打包部署,需要开发者自己完成相应的工作。

注意:新建工程之后,可能会显现一些警告信息,下面对此予以讲明:关于警告信息,是没有关系的。

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

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

这些警告信息要紧是提示将这些非泛型的代码修改为更加高级的方法——泛型,因此这些警告信息是不阻碍代码结果的。

如果需要修改为泛型也是能够,使用泛型来处理有关的集合类。

3. 编译工程openfire是用ant构建的,因此要先设置使得eclipse中每次编译都使用内置的ant工具,保证编译的正确执行。

同时,要在Eclipse中设置为使用JDK作为JVM,如果使用JRE作为JVM,编译就会失败。

因为openfire在Windows下是使用install4j打包成.exe格式的安装文件的,因此需要安装install4j。

否则,在使用ant进行编译的时候,在ant视图中可能会显现警告如下信息:taskdef class com.install4j.install4jtask cann ot found。

这要紧是要安装用来打包Java应用程序的install4j.exe程序,而且将要安装到其默认的安装路径C:\Program Files\install4j下。

注意:有时候在Windows下安装的时候,可能会显现如下图所示的错误,而导致无法安装然而,只要将安装程序install4j_windows_4_1_2_with_jre.exe拷贝到上面提示的名目下进行安装就能够安装成功,如复制到C:\Documents and Se ttings\liaolonglong名目下。

(1)在eclipse中点击Window->Show View->Ant,打开Ant窗口;(2)在Ant 视图中,单击右键,在弹出的快捷菜单中选择Add Build files..;(3)在弹出的对话框中,展开openfire/build文件夹,选择build名目下的build.xml,点击OK;(4)在Ant视图中, 展开Openfire XMPP Server,双击openfire(def ault)编译工程(5)如果在Console视图中显示“BUILD SUCCESSFUL”就表示编译成功。

7. 创建项目Builder(1)在eclipse的菜单栏中,选择Run->Open Run Dialog...,在弹出的对话框左侧的树形结构中选择Java Application,单击右键,选择New创建启动配置。

(2)在Run窗口的Main选项卡中, 修改Name文本框中的值,改成包含要启动的类的工程名openfire(3)在Run窗口的Main选项卡中,点Browse按钮,选择openfire(4)在Run窗口的Main选项卡中,点Search按钮,选择Main class 为org.jivesoftware.openfire.starter.ServerStarter,单击Apply按钮。

(这是o penfire的启动类)(5)点击进入Arguments选项卡,在VM arguments文本框中输入-DopenfireHome="${workspace_loc:openfire}/target/openfire"单击Apply按钮。

那个是用于eclipse执行java命令时传递的参数,如此openfire程序能够通过System.getProperty(“openfireHome”)得到openfir e的本地位置。

(6)点击进入Classpath选项卡,选中User Entries,如此Advanced...就处于可用状态;点击Advanced...按钮,在Advanced Options页面,选择Add Folders, 单击OK。

(默认情形下,差不多将工程openfire添加到了那个地点,而不需要进行该项操作,如果有多个工程的时候才需要执行该项操作。

)选择openfire\src\i18n, 点OK按钮将那个文件夹加入到Classpath选项卡中;同样的方式把openfire\src\resources名目下的jar文件夹也加到Class path选项卡中。

(11)在Common选项卡中,勾选Run复选框,单击Apply按钮。

设置完毕,如此以后在run那个工程的时候就会按照正确的配置进行了,debug的设置和run的设置类似,不再多讲。

注意:提示错误如下:HTTP ERROR: 500INTERNAL_SERVER_ERRORRequestURI=/setup/index.jspCaused by:ng.NullPointerExceptionat org.jivesoftware.admin.AdminConsole.getAppName(AdminCo nsole.java:122)at org.jivesoftware.openfire.admin.decorators.setup_jsp._jspServi ce(setup_jsp.java:168)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.jav a:97)at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.ja va:487)at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler. java:362)at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHand ler.java:216)at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandle r.java:181)at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandl er.java:726)at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppCon text.java:405)at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:19 2)at com.opensymphony.module.sitemesh.filter.PageFilter.applyDec orator(PageFilter.java:156)at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter (PageFilter.java:59)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084)at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084)at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCh aracterEncodingFilter.java:42)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084)at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:7 0)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084)at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFil ter.java:99)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084)at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler. java:360)at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHand ler.java:216)at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandle r.java:181)at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandl er.java:726)at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppCon text.java:405)at org.mortbay.jetty.handler.ContextHandlerCollection.handle(Co ntextHandlerCollection.java:206)at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCol lection.java:114)at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrap per.java:152)at org.mortbay.jetty.Server.handle(Server.java:324)at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnecti on.java:505)at org.mortbay.jetty.HttpConnection$RequestHandler.headerCom plete(HttpConnection.java:829)at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:21 1)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java: 380)at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelE ndPoint.java:395)at org.mortbay.thread.QueuedThreadPool$PoolThread.run(Queue dThreadPool.java:488)Powered by Jetty://这时因为是文件路径所导致的咨询题,需要将admin-sidebar.xml和op enfire_i18n_en.properties这2个文件直截了当放在openfire\bin名目下即可解决那个咨询题。

相关文档
最新文档