IM之tigase 在myeclipse下部署运行

IM之tigase 在myeclipse下部署运行

月光魔力鸭

2020-03-20 12:07 阅读 372 喜欢 0 tigase 部署运行

之前没接触过tigase,最近开始准备用这个来做IM ,开始预研..不过中间比较坎坷,虽然有忙别的事情,但是前前后后还是花了好几天的时间,资源太少,官网又看不懂,git还下不下来... 啥机制也不懂.. 真惆怅。

这里先摆下搜集的资料:

按照上面的资料进行参考... 结果总是没明白,当然我自身技术有限,对maven 基本上是不理解的,只知道是个仓库,怎么执行啥的全都不懂,平时开发都是固定模式。

准备

资料下载

链接:https://pan.baidu.com/s/1EBYvNi86ocN7XBLhTgVcJQ 提取码:881h

里面包含了tigase7 的源码,是我这边已经跑起来的。不过配置还需要修改下,比如数据库啊 用户啊 IP啊 等等。

过程

下载tigase代码后,通过myeclipse 导入maven项目,然后update project ,最终确保没啥编译错误就可以。

目录结构

至于方式方法啥的,都是通用的。

  1. jdk版本
  2. build_path 处理
  3. maven 安装

这些都不细说了,主要说配置。

配置

正常后,处理配置文件 /etc/init-mysql.properties

修改对应的IP ,以及数据库连接

其他的基本没啥变化,当然我目前还在门外,也不知道这些配置是做什么的,只能看懂个数据库配置。

运行

右键->run as -> run configurations...

创建java application

选择 tigase.server.XMPPServer为主函数。 选择 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

如图:

arguments

common中选择Run ,如下图:

common

然后选择Run运行即可.

过程中碰到的问题

最初给的mysql版本是5.x,所以有碰到几个问题,这里面记录下。

tigase.db.DBInitException: Database initialization failed

数据库连接初始化失败,总是说什么character有问题,最后才知道是mysql的版本问题。 我本地的mysql是8,pom.xml中是5,修改下pom.xml中的mysql-connector-java 版本号即可。

    <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <!-- <version>5.1.34</version> -->
            <version>8.0.11</version>
    </dependency>
再就是时区问题,重启后说时区无法识别

这个简单处理的就是在uri上增加&serverTimezone=UTC&useSSL=false .

message-archive/archive-repo-uri=jdbc:mysql://localhost:3306/tigasedb2?user=root&password=root&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false

启动


继续更新,2020年3月20日 17:29:27。

spark 连接测试

.. 官网这下载速度感觉能死人,从来没有超过1M总量下载.. 没办法,只能csdn找了个,花了不少分,给大家共享下。

连接的时候碰到的问题,总是连不上,各种找资料发现是名字的问题。 来自:https://www.cnblogs.com/eyecool/p/7243661.html 经过验证,确实是名字的问题,改了个好听的名字后,重启再启动竟然报错了。

//Public Key Retrieval is not allowed

解决: 在uri后增加 allowPublicKeyRetrieval=true .

来自: https://blog.csdn.net/u013360850/article/details/80373604

注册登录

具体的功能还没测试,后续继续更新。

暂时写这些,后面如果继续对tigase进行研究或二次开发的话,还会继续更新。

转载请注明出处: https://chrunlee.cn/article/tigase-7-myeclipse.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
项目为nginx+tomcat 部署的,由于需要https环境,本来直接配置nginx https就可以了,结果在jsp 中获取request.getScheme 怎么都是http .. 可把我这个假运维愁坏了。
这只能算是一个小实现吧 ,也不算什么难点,就是加强下记忆,后续查找方便点而已,当然也有可能给你提供个小灵感啥的,那就再好不过了。
nginx 监听的服务器的9000 端口,转的443 到tomcat 中,但是在java web jsp中获取的端口却还是443.
项目为长期稳定运行中,由于新增功能或修复BUG,修改代码后无法启动。根据添加的代码删减,最后确认出的问题。
使用spring boot 来传递日期参数的时候,发现报错。顺手记录。
实际上,之前有对接过的... 但是忘记了,而且也没做详细记录,同时语言又换了.. 成java了,所有这里记录下,包括从微信的授权、token、以及到js-sdk 开发为止。
记录下关于通过tomcat来配置https ,使java web项目可以直接通过https来访问,之前的时候都是走nginx来配置https,由于特殊原因443端口不能开启(具体是啥不清楚,运维不让开),只能如此配置下。
关于即时通讯,现在各路APP基本都有,虽然不能说是核心,但是如果没有又总会觉的少点啥。 如果对即时通讯要求不高,且用户量不大,只是想要从无到有的话,可以直接使用现有的服务即可,有不少免费的足够支持小量用户的要求。但是如果用户量稍微较大,且需要一些定制服务又不想受制于人,那么搭建自己的即时通讯服务器可能是你最终的选择。但是,从头开发肯定是不可能的。