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,運行成功
![]()
![]()