Openfire问题解决汇总
来源:互联网 发布:淘宝代付超限 编辑:程序博客网 时间:2024/06/18 05:59
Openfire问题解决汇总
Openfire的集群研究
研究了几个月的openfire的集群,今天终于有点眉目了。分享一下。
openfire的集群通过插件集成到服务器中。
该插件使用Oracle Coherence。Oracle Coherence是一个分布式的缓存方案,并且通过集群为应用提供强大的缓存后备支持。Coherence主要是内存缓存,即存储区域主要在内存当中。
与一般的分布式缓存方案如JBossCache, Memcache 等相同,分布式缓存的价值基于网络IO性能高于DB查询的磁盘IO性能这样一个特点。Coherence的别名是Data Grid。
不用担心登录openfire的客户端数量暴涨后,openfire的内存会耗光,因为Coherence每个节点只保存1/n的缓存。可以通过增加节点数来解决内存问题。
另外coherence是可以配置的,用winrar打开coherence.jar,编辑其中的tangosol-coherence.xml。
常见配置:集群名称,知名IP列表等。
通过设置集群名称,可以让知道集群名称的节点加入集群。
通过设置知名IP列表,可以让不能用广播的节点加入集群。
原文来自:http://istep.iteye.com/blog/1749740
Openfire 服务器更换ip后的恢复方法如果你的服务器名称和mysql的地址都是使用的静态ip地址配置的,更改ip后,openfire就会开启失败,这种情况下请看下面的解决方法。比如你的ip地址由 192.168.0.111 改为192.168.0.222后,openfire开启失败,控制台会出现一些红字,openfire database error …. ,解决方法:
打开E:/Program Files/Openfire/con/openfire.xml, 修改serverURL>jdbc:mysql://192.168.0.111:3306/openfire 字段中的ip更改为新的ip,其实这里最好写成 127.0.0.1 比较好,这样就始终指向本机。
这样mysql数据库连接成功,openfire管理界面可以正常登陆,但是客户端还是无法连接openfire,这是由于服务器名称还是以前的ip造成的,解决方法:
1. 登陆openfire管理页面,在主页面下方选择编辑服务器属性,修改新的服务器名称为新的ip地址,也就是192.168.0.222,点击保存属性,页面提示从启服务器。
2. 重启后服务器名称出现一个叹号,鼠标放上去显示Found RSA certificate that is not valid for the server domain, 这样由于RSA认证无效造成的,需要对新的ip地址进行RSA证书的配置。
3. 选择【服务器配置】菜单,选择左下方的【服务器证书】,会看到两个证书,点击后面的删除按钮,全部删除,删除后系统提示重启服务器,点击重启
4. 重启后,系统提示“一个或更多的证书丢失。单击这里产生自定义签名证书”,点击这里,自动生成和新的ip匹配的RSA证书,生成后,系统提示重启。
5. 再次登录后,会看到主界面的服务器名称的叹号消失了,openfire正常,客户端可以正常登陆了
原文来自:http://blog.csdn.net/HappySheepherder/article/details/4707124
解决openfire在使用MySQL数据库后的中文乱码问题(转)
openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL,Oracle等。
在实际使用时大家遇到最多的就是采用MySQL数据库后的中文乱码问题,这个问题十分有趣,而且从现象上可以看出openfire内部的一些机制。
实际问题是这样的:首先启动openfire服务器,然后利用客户端或直接登录到后台新建一个帐户,为该帐户指定一些中文的属性,如姓名等。如果不重启服务器,你永远不会觉得有什么不对的地方,因为所有的中文显示都是正常的。接下来重启一下openfire,再用建立的帐号登录客户端或进入后台管理端查看,会发现所有的中文全都变成了问号。登录到数据库中进行查看,发现所有的中文字符也均为问号,这说明了两个问题:
- openfire具有应用层缓存
- 数据库编码存在问题
解决办法其实也很简单,首先要保证你为openfire创建的数据库编码是utf8的,建表语句如下:
create database openfire default character set utf8 default collate utf8_general_ci
当你原来就创建好数据库时,你可以用:
alter database openfire default character set utf8 default collate utf8_general_ci;
其次,在初始化openfire数据库,即第一次配置openfire服务器时,在连接数据库那里的连接串要加入字符编码格式,必须在连接里增加UTF8的编码要求,连接字符串设置如下:
jdbc:mysql://127.0.0.1:3306/openfire?useUnicode=true&characterEncoding=utf8
如果已经安装完成,这个配置也是可以改动的,直接到openfire的安装目录下,找到conf/openfire.xml这样一个文件,打开找到如下的XML节,修改其中的serverURL即可
<database>
<defaultProvider>
<driver>com.mysql.jdbc.Driver</driver>
<serverURL>jdbc:mysql://127.0.0.1:3306/openfire?useUnicode=true&characterEncoding=utf8</serverURL>
注意:由于&具有特殊含义,因此原&符号必须被转义为&
- Openfire问题解决汇总
- Openfire问题解决汇总
- openfire内存问题解决方法汇总
- Openfire资料汇总
- openfire服务器无法开启问题解决
- gloox 链接openfire服务器问题解决办法
- openfire连接mysql数据库的字符集问题解决
- openfire+smack离线消息乱码问题解决
- 关于openfire服务器启动变慢问题解决
- Spark+Openfire二次开发Message类型汇总
- IE问题解决方法汇总
- IE问题解决方法汇总
- Oracle JOB问题解决汇总
- Oracle JOB问题解决汇总
- Oracle JOB问题解决汇总
- N81各种问题解决汇总
- Oracle JOB问题解决汇总
- Oracle JOB问题解决汇总
- XMPP 学习资料整理
- openfire登录验证AuthProvider
- openfire连接登陆优化方案
- 收藏的openfire相关内容的网址
- XMPP协议的原理介绍
- Openfire问题解决汇总
- 18.3shuffle cards
- 学习JAVA基础中(一)
- Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
- unity中事件分发系统 EventDispatcher
- 游戏简单控制逻辑 一个轻量级的状态机
- Unity5.0新特性------动画的StateMachineBehaviours
- Unity5.0新特性------新动画功能
- vim编辑器!