当前位置: 首页 > news >正文

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

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文件为:
    [html] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
    1. config-type = --gen-config-def  
    2. --admins = admin@172.17.110.7  
    3. --user-db = mysql  
    4. --user-db-uri = jdbc:mysql://localhost/tigasedb?user=tigasedb&password=tigasedb  
    5. --virt-hosts = 172.17.110.7  
    6. --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栏中输入:
    [html] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
    1. -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8  
    2. -Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org.apache.derby.jdbc.EmbeddedDriver  
    3. -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,运行成功

转载于:https://www.cnblogs.com/seven1979/p/4221940.html

相关文章:

  • PHP 运用rsa加密和解密实例
  • 个人犯的一个golang routine错误
  • (简单) HDU 2612 Find a way,BFS。
  • ZeroMQ接口函数之 :zmq_bind - 绑定一个socket
  • Objective - C基础: 第三天 - 1.NSString的基本认识
  • Windows Store App JavaScript 开发:页内导航
  • IOS 消息机制(NSNotificationCenter)
  • DataMatrix二维条码源码分析检测识别图像位置
  • 图像切割之(一)概述
  • 关于HTML5本地存储的sessionStorage与localStorage的简单用法
  • 论存储IOPS和Throughput吞吐量之间的关系
  • Objective - C基础: 第五天 - 6.循环引用
  • 服务器的编码
  • Jquery scrollTop animate 實現動態滾動到頁面頂部
  • 多站点IIS用户安全权限设置图解教程
  • ES6指北【2】—— 箭头函数
  • 收藏网友的 源程序下载网
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 【知识碎片】第三方登录弹窗效果
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Apache Spark Streaming 使用实例
  • Java反射-动态类加载和重新加载
  • JAVA之继承和多态
  • js中的正则表达式入门
  • oldjun 检测网站的经验
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Sass Day-01
  • Vue 重置组件到初始状态
  • 精彩代码 vue.js
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 前端技术周刊 2019-01-14:客户端存储
  • 学习JavaScript数据结构与算法 — 树
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • $ git push -u origin master 推送到远程库出错
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (3)nginx 配置(nginx.conf)
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (ZT)一个美国文科博士的YardLife
  • (二)hibernate配置管理
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (四)JPA - JQPL 实现增删改查
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Micro Framework初体验(二)
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET是什么
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .Net组件程序设计之线程、并发管理(一)
  • @RunWith注解作用
  • [2018-01-08] Python强化周的第一天
  • [Android]Android开发入门之HelloWorld