XMPP协议学习笔记六(搭建Tigase开发环境)

  • 概述
最近闲来无事研究了一下另一个基于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导入到工作空间里。
XMPP协议学习笔记六(搭建Tigase开发环境)_第1张图片

XMPP协议学习笔记六(搭建Tigase开发环境)_第2张图片

  • 此时切换会Java视图,可以看到tigase-server这个项目,如果左上角没有一个M符号,需要将这个项目转化为一个Maven项目,在项目上右键Configure>Convert to Maven Project,成功之后,右键Run as>Maven install
XMPP协议学习笔记六(搭建Tigase开发环境)_第3张图片
  • 第三步,调整项目结构,右键Properties,在Source中点击Add Folder,勾选src/main/java,src/main/resource和src/test/java三项
XMPP协议学习笔记六(搭建Tigase开发环境)_第4张图片
  • 执行数据库脚本,我使用的是Mysql数据库,脚本位置在根目录下database/mysql-schema-5-1.sql,这里我遇到了一点问题,通过Mysql命令行执行总是不成功,最后没办法了使用tigase的安装包来执行脚本才成功,原因未知。
  • 修改根目录下etc文件夹下的init-mysql.properties文件为:
    config-type = --gen-config-def
    --admins = [email protected]
    --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
    然后点击Run,运行成功
XMPP协议学习笔记六(搭建Tigase开发环境)_第5张图片
XMPP协议学习笔记六(搭建Tigase开发环境)_第6张图片

你可能感兴趣的:(XMPP协议学习笔记六(搭建Tigase开发环境))