OpenFire源码学习之三十三:windows打包
摘要:需要软件1.install4j_windows_4_0_8.exe2.windows-x86-1.6.0_18.tar.gz安装安装install4j_windows_4_0_8.exe到默认路径下一步:安装完后查看自己的安装目录:将文件windows-x86-1.6.0_18.tar.gz复制到/...
阅读全文
posted @
2015-02-04 14:20
Spark_莫然
阅读(418)
推荐(0)
OpenFire源码学习之三十二:使用Tsung测试openfire(下)
摘要:Tsung使用由于我们只是对openfire进行测试,因此我们主要讲解利用jabber_register.xml在openfire上面注册用户,以及利用jabber.xml模拟用户登录openfire上线、离开、会话操作的压力测试。注册用户1、执行以下命令进入到安装目录下的examples目录:#c...
阅读全文
posted @
2015-02-04 14:10
Spark_莫然
阅读(425)
推荐(0)
OpenFire源码学习之三十一:使用Tsung测试openfire(上)
摘要:介绍一个开源的多协议分布式负载测试工具,使用erlang语言开发的。它能用来压力测试HTTP,WebDAV,SOAP,PostgreSQL,MySQL,LDAP和Jabber/XMPP的服务器。它可以分布在多个客户机,并能够模拟成千上万的虚拟用户数并发。相关文件安装由于我们采用的是tar.gz安装文...
阅读全文
posted @
2015-02-04 14:08
Spark_莫然
阅读(335)
推荐(0)
OpenFire源码学习之三十:haproxy负载均衡
摘要:安装使用Haproxy做负载均衡。下载地址:http://www.haproxy.com/downloads/trial-versions/下载后解压:tarzcvfhaproxy-1.3.20.tar.gzcdhaproxy-1.3.20makeTARGET=linux26PREFIX=/usr/...
阅读全文
posted @
2015-02-04 14:02
Spark_莫然
阅读(779)
推荐(0)
OpenFire源码学习之二十八:与其他系统的用户整合
摘要:与三方系统整合。Openfire提供了一套不错的解决方案。其实openfire的用户插件也做http方式的用户数据同步。关于openfire的用户整合,本人也不是十分赞同(这仅仅只是在我们自己的项目下)。我们的办法是做数据共享池。这个解决方案可以用到redis。下面是opnfire的解决方案open...
阅读全文
posted @
2015-02-04 13:43
Spark_莫然
阅读(517)
推荐(0)
OpenFire源码学习之二十七:Smack源码解析
摘要:SmackSmack是一个用于和XMPP服务器通信的类库,由此可以实现即时通讯和聊天。Android中开发通讯APP也可以使用这个包。关于smack的中文开发文档,目前网上也有很多。下面本,将从源码中分析smack的几个案例。连接关于smack的Connection是连接XMPP服务器的默认实现。他...
阅读全文
posted @
2015-02-04 11:51
Spark_莫然
阅读(1031)
推荐(0)
OpenFire源码学习之二十六:Spark&Tinder
摘要:因为这两块比较简单,内容也比较少。所以就放一块了。Spark这里的spark是指openfire的一个客户端,并非目前非常流行的大数据计算框架spark。Spark页面图:Spark的源码构建Spark的源码构建和openfire都差不多。也都非常的简单。源码目录如下:Spark也是用ant来编译源...
阅读全文
posted @
2015-02-04 11:44
Spark_莫然
阅读(385)
推荐(0)
OpenFire源码学习之二十五:消息回执与离线消息(下)
摘要:这一篇紧接着上面继续了。方案二基于redis的消息回执。主要流程分为下面几个步骤:1)将消息暂存储与redis中,设置好消息的过期时间2)客户端回执消息id来消灭暂存的消息3)开通单独线程论坛在第1)步中的消息。根据消息的时间重新发送消息。如果消息第一次存放的时间大雨有效期(自定义10秒),解析消息...
阅读全文
posted @
2015-02-03 22:28
Spark_莫然
阅读(606)
推荐(0)
OpenFire源码学习之二十四:消息回执与离线消息(上)
摘要:在上一篇提到了4个问题,现在开始回答第三个第四个问题。由于篇幅问题。这里就设置成了上下两篇消息回执这个是第三个问题,如何做消息回执。消息回执分为两种:1、普通消息2、延迟消息3、离线消息普通消息普通消息是客户端正常的点对点发送聊天消息。格式大致如下:.......客户端接收到系统发送的消息后,应该回...
阅读全文
posted @
2015-02-03 22:15
Spark_莫然
阅读(1102)
推荐(0)
OpenFire源码学习之二十三:关于消息的优化处理
摘要:消息处理之前有说过,openfire的消息处理策略本人并不是很喜欢。先看下openfire上脱机消息策略。个人认为消息关于会话的消息,用户的存储量应该无限大。服务器不应该被消息吃撑了。所谓聊天通讯,这一关很重要。Openfire的消息是什么流程呢。1、当用户登陆连接的时候。握手、认证、绑定资源、获取...
阅读全文
posted @
2015-02-03 22:07
Spark_莫然
阅读(665)
推荐(0)
OpenFire源码学习之二十二:openfie对用户的优化(下)
摘要:用户名片在预初始化中,贴出来用户名片的程序。这里也一样不在重复。首先同样先修改系统属性:provider.vcard.className org.jivesoftware.util.redis.expand.RedisVCardProvider然后需要修改VCardManager名片管理这个类。Re...
阅读全文
posted @
2015-02-03 22:01
Spark_莫然
阅读(442)
推荐(0)
OpenFire源码学习之二十一:openfie对用户的优化(上)
摘要:用户类优化用户主要是要解决用户的连接量。已经对用户的访问速度和吞吐量。预初始化在前面的带面中提出来了用户的预初始化。这里就不在贴出来了。下面将redis用户库连接池处理贴出来UserJedisPoolManagerpublic class UserJedisPoolManager extends B...
阅读全文
posted @
2015-02-03 21:58
Spark_莫然
阅读(351)
推荐(0)
OpenFire源码学习之二十:在openfire中使用redis插件(下)
摘要:Redis插件实现首先来看下插件目录:RedisServicePlugin源码清单:import java.io.File;import java.sql.Connection;import java.sql.PreparedStatement;import java.util.Collection...
阅读全文
posted @
2015-02-03 21:51
Spark_莫然
阅读(548)
推荐(0)
OpenFire源码学习之十九:在openfire中使用redis插件(上)
摘要:Redis插件介绍Redis是目前比较流行的NO-SQL,基于K,V的数据库系统。关于它的相关操作信息,本人这里就不做重复了,相关资料可以看这个网站http://www.redis.io/(官网)、http://www.redis.cn/(中文站)。这里本人想说的是,拿Redis做openfire的...
阅读全文
posted @
2015-02-03 21:47
Spark_莫然
阅读(601)
推荐(1)