引点科技私房菜专栏之tigase开发环境搭建(代码片段)

「已注销」 「已注销」     2023-04-02     448

关键词:


文章目录

Tigase开发环境搭建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L0NrHrGg-1607859695831)(http://7xk0q3.com1.z0.glb.clouddn.com/20170314920532017-03-15.jpg)]

前面一篇博客晚上写,主要是今天在折腾Intelij Idea下搭建Tigase开发环境,最后搞的我直哭,没办法了,直接换成Eclipse开发,反正也没差。因为项目可能需要多一个人折腾,所以,需要稍微整理下Tigase开发环境的搭建。这里使用Eclipse作为IDE,从源代码下载到数据库创建,这里我们选择mysql数据库,然后各种配置,最后使用spark进行调试。说简单也简单,但是还是做下笔记吧。毕竟人老了。记忆里不如当年。

环境搭建

源码下载

Tigase官网下载Tigase源码,可以选择githttps的方式,如:

git clone git://repository.tigase.org/git/tigase-server.git

建议最好选择下某一个tag版本,因为master并不稳定。

下载完成后可以看一下目录结构,其中包含database,certs,script,jar,etc,conf,module,logs等等文件夹,其中一些文件我们会进行配置

数据库创建

源码下载后可以看到有一个database文件夹,里面包含了一些数据库脚本文件。有两种方式可以创建数据库。
本地安装完数据库后,记住数据库用户名和密码。可别忘了。懒的找。

  • 手动创建
  1. mysql -u username -p(进入数据库)
  2. create database tigasedb;(创建数据库)
  3. source database/mysql-schema-5-1.sql(导入数据库)
  • 自动创建

./scripts/db-create-mysql.sh 数据库用户名 数据库密码 数据库名 root用户名 root密码 主机名
./scripts/db-create-mysql.sh root 123456 tigasedb root 123456 127.0.0.1
执行后就创建完成了数据库。

  • 注意: 我使用的是mysql5.7,创建时会报错,因为mysql-schema-4-schema.sql文件似乎有问题。不确定是否是官方的问题。可以看看我的更改:
create table if not exists tig_users (
	uid bigint unsigned NOT NULL auto_increment,

	-- Jabber User ID
	user_id varchar(2049) NOT NULL,
	-- UserID SHA1 hash to prevent duplicate user_ids
	sha1_user_id char(128) NOT NULL,
	-- User password encrypted or not
	user_pw varchar(255) default NULL,
	-- Time the account has been created
	acc_create_time timestamp DEFAULT CURRENT_TIMESTAMP,
	-- Time of the last user login
	last_login timestamp DEFAULT CURRENT_TIMESTAMP,           (1)
	-- Time of the last user logout
	last_logout timestamp DEFAULT CURRENT_TIMESTAMP,           (2)
	-- User online status, if > 0 then user is online, the value
	-- indicates the number of user connections.
	-- It is incremented on each user login and decremented on each
	-- user logout.
	online_status int default 0,
	-- Number of failed login attempts
	failed_logins int default 0,
	-- User status, whether the account is active or disabled
	-- >0 - account active, 0 - account disabled
	account_status int default 1,

	primary key (uid),
	unique key sha1_user_id (sha1_user_id),
	key user_pw (user_pw),
--	key user_id (user_id(765)),
	key last_login (last_login),
	key last_logout (last_logout),
	key account_status (account_status),
	key online_status (online_status)
)
ENGINE=InnoDB default character set utf8 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;

环境配置

  1. 安装完成数据库后,我们需要对默认的配置进行更改,如下:
  • 更改JDK位置,在etc目录下,有一个tigase.conf,我们需要加上JDKPath="/usr/local/java8"

  • 同样在etc目录下,有一个init.properties文件。更改下面这样

config-type=--gen-config-def
--admins=admin@dc-a4b8eb92-xmpp.jiangtao.tech.
--virt-hosts =dc-a4b8eb92-xmpp.jiangtao.tech.

---cluster-mode=false
--debug=server

--user-db = mysql  
--user-db-uri=jdbc:mysql://127.0.0.1:3306/tigasedb?user=root&password=123456
# http rest
--comp-name-1=http
--comp-class-1=tigase.http.HttpMessageReceiver
--api-keys[s]=open_access
--api-keys=open_access
http/api-key=open_access
http/server-class=tigase.http.jetty.JettyStandaloneHttpServer
## monitor 
#--monitoring=jmx:9050,http:9080,snmp:9060

# muc
--comp-name-2 = muc
--comp-class-2 = tigase.muc.MUCComponent

## pubsub 
#--comp-name-3 = pubsub
#--comp-class-3 = tigase.pubsub.PubSubComponent

# message archive
--comp-name-4=message-archive
--comp-class-4=tigase.archive.MessageArchiveComponent

message-archive/archive-repo-uri=jdbc:mysql://127.0.0.1:3306/tigasedb?user=root&password=123456
sess-man/plugins-conf/message-archive-xep-0136/component-jid=message-archive@dc-a4b8eb92-xmpp.jiangtao.tech.
sess-man/plugins-conf/message-archive-xep-0136/default-store-method=message
sess-man/plugins-conf/message-archive-xep-0136/required-store-method=message
# plugins
--sm-plugins=+message-archive-xep-0136,+urn:ietf:params:xml:ns:xmpp-stanzas,+urn:ietf:params:xml:ns:xmpp-sasl

数据库配置可能需要自己更改,别的都ok。

  1. 开始准备运行,选择项目右键–>run as—>run config。看图吧。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SSish0Gv-1607859695836)(http://7xk0q3.com1.z0.glb.clouddn.com/2017031455339Screen Shot 2017-03-14 at 11.24.12 PM.png)]

然后选择*java application->右键新建一个.*选择主类和填写运行时参数配置。配置图如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PwzhcN8V-1607859695845)(http://7xk0q3.com1.z0.glb.clouddn.com/2017031430705Screen Shot 2017-03-14 at 11.27.37 PM.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oUeghnMe-1607859695863)(http://7xk0q3.com1.z0.glb.clouddn.com/2017031480732Screen Shot 2017-03-14 at 11.27.51 PM.png)]

具体运行时参数可以直接copy

  • program argument
--property-file etc/init.properties
  • VM argument
-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8     
-Djdbc.drivers=com.mysql.jdbc.Driver  -server 
-Xms100M -Xmx200M -XX:PermSize=32m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=128m

运行调试

点击运行,激动人心的时刻到了.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KppadypS-1607859695866)(http://7xk0q3.com1.z0.glb.clouddn.com/2017031431415Screen Shot 2017-03-14 at 11.31.47 PM.png)]

记得别忘了把数据库服务器打开。

测试

  1. Spark社区下载安装,此spark非大数据spark。别搞错了。

打开spark,简单的在高级里边设置下你的服务器ip,本地的话自己ip,或者if一下。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ud0oiDpC-1607859695868)(http://7xk0q3.com1.z0.glb.clouddn.com/2017031447638Screen Shot 2017-03-14 at 11.36.08 PM.png)]

  1. 自己注册一个账号,域名就填写刚才配置文件填写的--virt-hosts,然后登录。最后来看个图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y8zSceLA-1607859695871)(http://7xk0q3.com1.z0.glb.clouddn.com/2017031441094Screen Shot 2017-03-14 at 11.38.27 PM.png)]

完了,洗澡躺尸了。

引点科技私房菜专栏之第一个python小爬虫(代码片段)

文章目录第一个Python小爬虫分析网页编写爬虫结果第一个Python小爬虫分析网页打开网站猫眼电影TOP100,打开开发者工具,查看网页源代码,找到列表代码,也可以直接看下边的代码。<dd><iclass 查看详情

引点科技私房菜专栏之spring-boot学习

Spring-boot学习文章目录Spring-boot学习创建项目加入maven依赖创建Application创建接口试试看Mybatis支持添加依赖配置application.properties加入扫描器扫描mapper开发Controller开发Service结果Redis支持 查看详情

引点科技私房菜专栏之spring集成struts和hibernate(代码片段)

Spring集成Struts和Hibernate文章目录Spring集成Struts和HibernateSpring集成所需jar包依赖包集成model层dao层view层配置文件结果显示Spring,Struts,Hiberbate基础已经学习完成。想自己把这三个框架集成一下,然后再写一个后台管理网站练练手... 查看详情

引点科技私房菜专栏之spring-bean生命周期和作用域以及实现方式

SpringBean生命周期和作用域以及实现方式文章目录SpringBean生命周期和作用域以及实现方式生命周期初始化实例化前指定初始化方法实现`InitializingBean`接口销毁使用`destroy-method`方法实现`DisposableBean`接口`SpringBean`的作用域配置示例 查看详情

引点科技私房菜专栏之spring集成struts和hibernate(代码片段)

Spring集成Struts和Hibernate文章目录Spring集成Struts和HibernateSpring集成所需jar包依赖包集成model层dao层view层配置文件结果显示Spring,Struts,Hiberbate基础已经学习完成。想自己把这三个框架集成一下,然后再写一个后台管理网站练练手... 查看详情

java私房菜专栏之aqs

文章目录1AQS简单介绍2AQS原理2.1AQS原理概览2.2AQS对资源的共享方式2.3AQS底层使用了模板方法模式3Semaphore(信号量)-允许多个线程同时访问4CountDownLatch(倒计时器)4.1CountDownLatch的两种典型用法4.2CountDownLatch的使用示例4.3CountDownLatch的... 查看详情

java私房菜专栏之batj都爱问的多线程面试题(代码片段)

文章目录一面试中关于synchronized关键字的5连击1.1说一说自己对于synchronized关键字的了解1.2说说自己是怎么使用synchronized关键字,在项目中用到了吗1.3讲一下synchronized关键字的底层原理1.4说说JDK1.6之后的synchronized关键字底层做... 查看详情

java私房菜专栏之atomic原子类总结

文章目录1Atomic原子类介绍2基本类型原子类2.1基本类型原子类介绍2.2AtomicInteger常见方法使用2.3基本数据类型原子类的优势2.4AtomicInteger线程安全原理简单分析3数组类型原子类3.1数组类型原子类介绍3.2AtomicIntegerArray常见方法使用4引... 查看详情

java私房菜专栏之设计模式

文章目录创建型模式:创建型模式概述:创建型模式系列文章推荐:结构型模式:结构型模式概述:结构型模式系列文章推荐:行为型模式行为型模式概述:下面是自己学习设计模式的时候做的总结,有些是自己的原创文章,有... 查看详情

鸟哥的linux私房菜之学习shellscript

运行程序的时候一般都是创建一个子程序来执行,所以子程序中的变量什么的在当前的shell下没法使用,但是如果使用source来执行就可以在当前shell下执行程序  查看详情

别人的linux私房菜(22)软件安装:源代码与tarball

执行make,会在当前目录查找makefile文本文件(记录了源代码如何编译的详细信息)。内核相关的函数信息放置在/usr/lib、/usr/lib64里。 在Tarball(一般为xxx.tar.gz)中,软件开发商通常提供了源码,提供configure文件或config文件(... 查看详情

esp32之esp-idf+clion开发环境搭建——windows版(代码片段)

本文章来自原创专栏《ESP32教学专栏(基于ESP-IDF)》,讲解如何使用ESP-IDF构建ESP32程序,发布文章并会持续为已发布文章添加新内容!每篇文章都经过了精打细磨!↓↓↓通过下方对话框进入专栏主页↓↓↓CSDN请求... 查看详情

性能工具之gatling开发环境搭建(代码片段)

...运行结果五、总结一、前言编写Gatling脚本需要搭建脚本开发环境,下面演示使用IDEA开发环境搭建脚本开发环境。二、安装插件打开IDEA,安装scala插件,首次使用,随便创建一个工程,进入idea页面,按࿱... 查看详情

hi3516开发笔记:hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析(代码片段)

...OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(二):Hi3516虚拟机基础环境搭建之串口调试、网络连接以及sftp文件传输》下一篇:《Hi3516开发笔记(四):Hi... 查看详情

js常用方法私房菜-笔记-持续整理中

 //记录一下前端开发中JS常用的方法等,持续收集整理中----------------------------------------------------------1//处理键盘事件禁止后退键(Backspace)密码或单行、多行文本框除外2functionbanBackSpace(e){3varev=e||window.event;//获取event对象4varob... 查看详情

hi3516开发笔记:hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析(代码片段)

...OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(二):Hi3516虚拟机基础环境搭建之串口调试、网络连接以及sftp文件传输》下一篇:《Hi3516开发笔记(四):Hi... 查看详情

linux——linux驱动之设备树编译环境搭建实践总结(设备树uboot内核编译及镜像烧写)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!《QT开发实战》《嵌入式通用开发实战》《 查看详情

linux——linux驱动之设备树编译环境搭建实践总结(设备树uboot内核编译及镜像烧写)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!《QT开发实战》《嵌入式通用开发实战》《 查看详情