最近闲来无事研究了一下另一个基于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
- 在类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,运行成功
分享到:
相关推荐
该资源是整合了tigase的java服务端源代码,环境为:idea + gradle + postgresql 注意,这部分项目只包括java源代码,而数据库备份将在下一个资源打包上传,有疑问请阅读相关博文: ...
XMPP 协议中文参考指南 XMPP(Extensible Messaging and Presence Protocol)是一种基于 XML 的协议,用于实时交换消息和出席信息。该协议的核心功能定义在 RFC 3920 中,包括 XML 流、TLS 和 SASL 加密、流的根...
### XMPP学习入门笔记知识点详解 #### 一、XMPP简介 XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的即时通讯协议。它最初由Jabber发展而来,并于2004年成为国际标准(RFC 3920 和 RFC 3921)...
XMPP(可扩展消息和出席信息协议)是一种开放式的基于XML(可扩展标记语言)的通信协议,专门用于实现实时消息传递和出席信息(即在线状态)的交换。XMPP的设计目标是创建一个通用、可扩展的框架,使网络上的设备和...
这部分是tigase整合项目的数据库部分。用的是postgresql 额。。。mysql数据库用的人多,这里不不整理了。 具体用法或者疑问请访问: https://blog.csdn.net/cdnight/article/details/85222028
该协议的基本语法和语义最初由Jabber开源社区于1999年开发,后于2002年由XMPP工作组接手,以适应IETF的消息和出席信息技术的需求。XMPP 1.0的核心功能定义了协议的基础,而即时消息和出席信息功能则在XMPP-IM协议中...
综上所述,XMPP协议在Android客户端的开发中扮演了重要角色,Asmack和AndroidPN这样的工具和框架则为开发者提供了实现XMPP功能的便捷途径。通过它们,开发者可以构建出强大、安全、高效的实时通信应用。
tigase-xmltools-3.4.4.jar(XMPP/Tigase开发java类客户端要使用的xml工具包) 方便用来做xml相关的操作,希望能帮到更多的人。
在开发环境的搭建方面,“HackTigaseJabber/XMPPServerinEclipse”(在Eclipse中定制Tigase Jabber/XMPP服务器)会指导开发者如何在流行的IDE(集成开发环境)Eclipse中进行项目设置,包括JDK设置、插件安装和项目...
Tigase是一个开源项目,使用Java语言编写,遵循Jabber(即XMPP)协议标准,为用户提供了一个高性能且可扩展的消息传递和即时通讯(IM)平台。Tigase的核心优势在于其能够支持大量的并发用户连接,并通过集群技术实现...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,主要用于实现即时消息(IM)和在线状态服务。XMPP由Jabber社区创建,最初被称为Jabber协议,其设计理念是开放、可扩展和分布式。...
XMPP(Extensible Messaging and Presence Protocol)是一种开放的即时通讯协议,主要用于构建实时通信系统,如聊天应用、社交网络和协作工具。它基于XML(可扩展标记语言)设计,允许开发者构建灵活、可扩展的通信...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,被广泛应用于即时通讯、在线状态管理和数据交换等领域。这份"XMPP协议中文帮助文档"无疑为那些需要理解和应用XMPP技术的开发者...
总结起来,"ConsoleXmpp"实例是一个基于C#实现的XMPP通信程序,它展示了如何在VS2010环境下使用XMPP协议与Openfire服务器进行交互。通过学习和理解这段代码,开发者可以进一步了解XMPP协议的工作原理,以及如何在C#...
Tigase是一款开源的XMPP服务器,用于构建即时通讯和实时协作系统。本文将深入探讨Tigase的核心组件、插件系统以及连接器,帮助读者理解Tigase的架构和工作原理。 首先,我们来看看Tigase的核心组件。组件...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时...通过研究这个项目,开发者可以学习到如何使用XMPP协议进行即时通讯,理解其核心组件的工作原理,以及如何在实际项目中配置和使用XMPP服务。
### 基于XMPP协议的多端即时通讯方案 #### 一、开发背景 ##### 1、国际背景 随着互联网技术的飞速发展,即时通信已成为人们日常沟通的重要方式之一。1996年,Mirabilis公司推出的世界首个即时通信系统ICQ,标志着...
本文将探讨如何使用XMPP协议构建一个类似QQ的聊天应用,涵盖主要功能的实现以及Android平台上的开发实践。 **XMPP协议详解** XMPP(Extensible Messaging and Presence Protocol,可扩展消息传递和存在协议)是一...
1. 安装JDK:环境搭建的第一步是安装Java开发工具包(JDK),因为Openfire是用Java编写的。 2. 安装OpenFire:安装Openfire服务器软件,它是即时通讯系统的核心组件。 3. 安装Mysql:为Openfire提供数据库支持,...