XMPP协议学习笔记六(搭建Tigase开发环境) - nomousewch的专栏 - 博客频道 - CSDN.NET
- 概述
最近闲来无事研究了一下另一个基于XMPP协议开发的服务器Tigase,发现其相比Openfire还是有一定的优势的,官方号称其单台服务器可以同时承受50W在线人数的负载,从这一点来看比Openfire强很多(Openfire如果不考虑Roster估计可以达到单台1000的同时在线就不错了),下面给大家演示一下如何获取源代码以及在eclipse中调试。
- 首先获取源码,我是通过eclipse的git插件获取的,官网版本库:https://projects.tigase.org/projects/tigase-server/repository,git地址:git://repository.tigase.org/git/tigase-server.git,eclipse配置好git地址后,这里使用5.2.1版本,选择tigase-server-5.2.1这个版本Checkout,再右键Create Branch创建本地分支,然后右键Import Projects导入到工作空间里。
![]()
![]()
- 此时切换会Java视图,可以看到tigase-server这个项目,如果左上角没有一个M符号,需要将这个项目转化为一个Maven项目,在项目上右键Configure>Convert to Maven Project,成功之后,右键Run as>Maven install
![]()
- 第三步,调整项目结构,右键Properties,在Source中点击Add Folder,勾选src/main/java,src/main/resource和src/test/java三项
![]()
- 执行数据库脚本,我使用的是Mysql数据库,脚本位置在根目录下database/mysql-schema-5-1.sql,这里我遇到了一点问题,通过Mysql命令行执行总是不成功,最后没办法了使用tigase的安装包来执行脚本才成功,原因未知。
- 修改根目录下etc文件夹下的init-mysql.properties文件为:
- config-type = --gen-config-def
- --admins = admin@172.17.110.7
- --user-db = mysql
- --user-db-uri = jdbc:mysql://localhost/tigasedb?user=tigasedb&password=tigasedb
- --virt-hosts = 172.17.110.7
- --debug = server
config-type = --gen-config-def --admins = admin@172.17.110.7 --user-db = mysql --user-db-uri = jdbc:mysql://localhost/tigasedb?user=tigasedb&password=tigasedb --virt-hosts = 172.17.110.7 --debug = server
- 在类tigase.server.XMPPServer右键选择Run As>Run Configurations,在Arguments选项卡的Program arguments栏中输入:--property-file etc/init-mysql.properties,在VM arguments栏中输入:
- -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
- -Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org.apache.derby.jdbc.EmbeddedDriver
- -server -Xms100M -Xmx200M -XX:PermSize=32m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=128m
-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org.apache.derby.jdbc.EmbeddedDriver -server -Xms100M -Xmx200M -XX:PermSize=32m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=128m然后点击Run,运行成功
![]()
![]()