IM之tigase(一)源码安装

2017-01-06 10:09:51来源:oschina作者:wangshuaixin人点击

tigase和openfire有异曲同工之意,主要是实现IM的及时通信,和实现服务端向手机客户端实现消息推送的服务。但是tigase在测试实验中表现了良好的性能,单机状态下支持50万的并发。


本例采用的是源码安装,并且是采用当前最新版本的安装,先介绍下本机的环境,mac,java1.8,mysql5.7,git环境,tigase7.2.0


git环境是mac的默认环境,可以自己制定一个工作空间来clone项目,本例使用的地址是:git clone https://repository.tigase.org/git/tigase-server.git


然后进入到执行目录:cd tigase-server/


将依赖的jar包和当前项目编译并安装到本地仓库:mvn install


将源码导入到eclispe中,inport->exists maven project->tigase-server->finish


该过程会比较漫长,要下载对应的依赖和整合maven项目


修改对应的参数,在/etc/init-mysql.properties文件中修改配置内容如下:


--debug = server


--test = false


--virt-hosts = 10.16.87.44


admins = [ 'admin@10.16.87.44' ]


config-type = '--gen-config-def'


dataSource {


default {


uri = 'jdbc:mysql://localhost/tigasedb?user=tigase&password=tigase&useUnicode=true&characterEncoding=UTF-8&autoCreateUser=true'


}


}


http (class: tigase.http.HttpMessageReceiver) {}

/etc/tigase.conf中的环境变量


JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"

此时执行mysql数据库的初始化操作,在数据目录tigase-server/中,下面有一个文件夹scripts


执行安装mysql数据库的命令:./scripts/db-create-mysql.sh tigase tigase tigasedb root root localhost


对于执行的参数解释:第一个tigase是用户名,第二个tigase是密码,tigasedb是数据库,第一个root是管理员用户名,第二个root是管理员密码,localhost是数据库地址。


如果一切正常会执行成功,我操作是报的错误是:


Press [Enter] key to start, otherwise abort...


错误: 找不到或无法加载主类 tigase.util.DBSchemaLoader


错误: 找不到或无法加载主类 tigase.util.DBSchemaLoader


查看db-create-mysql.sh的脚本,发现最后几行有一段执行命令如下:


java -cp "jars/*" tigase.util.DBSchemaLoader -dbHostname ${DB_HOST} -dbType ${DB_TYPE} -schemaVersion ${VERSION} -dbName ${DB_NAME} -rootUser ${ROOT_NAME} -rootPass ${ROOT_PASS} -dbUser ${USER_NAME} -dbPass ${USER_PASS} -logLevel ALL


java -cp "jars/*" tigase.util.DBSchemaLoader -dbHostname ${DB_HOST} -dbType ${DB_TYPE} -schemaVersion ${VERSION} -dbName ${DB_NAME} -rootUser ${ROOT_NAME} -rootPass ${ROOT_PASS} -dbUser ${USER_NAME} -dbPass ${USER_PASS} -logLevel ALL -file database/${DB_TYPE}-pubsub-schema-3.0.0.sql


java -cp的命令,并且执行的jar是在jars/*的jar报,此时将maven编译的本地仓库中的


tigase-server-7.2.0-SNAPSHOT.jar拷贝的jars/路径中。


./scripts/db-create-mysql.sh tigase tigase tigasedb root root localhost


一切正常。


eclipse启动项目:


run Configuartion


填写的地方主要是两个:


main的页签中填写


project是选择:tigase-server


main class选择的是: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-server -Xms100M -Xmx200M -XX:PermSize=32m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=128m

ok,apply,运行程序,一切正常。


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台