openfire+Spark

最近公司要做一个药师在线咨询功能,也就是在手机上做一个类似与QQ的IM聊天功能.以前没有做过类似的功能,只有去网上看看,听说Openfire不错,所以就去阅读相关资料,在2近一个星期的努力下,终于搭建起来了自己的Openfire服务器和自己的Spark客户端,其实要搭建其环境相当简单,只是以前没有做过类似的功能,走了不少弯路,在此写出来,没有多少技术含量,只是希望帮助有类似需要的童鞋少走一些弯路

我用的Ubuntu系统,其实Windows上也相似,不过没有去试过.

1.环境,需要安装Java环境和Mysql数据库.

    在Ubuntu下安装环境相当简单,只需要将相应的Java环境下载下来放到本地,然后设置环境变量即可,网上很多,也可以看我安装Java环境的一篇博客.

    安装Mysql更简单,只需要一句简单的install语句即可.sudo apt-get isntall mysql-server;

2.下载Openfire和Spark,我下载的是Openfire_3.8.2和Spart_2_6_8.

    2.1下载Openfire后解压,然后放到/opt下.

    2.2 建数据库.

          连接数据库mysql -u root -p mysql;

          查看数据库:show databases;

          创建数据库openfire:create database openfire;

         进入数据库openfire: usr openfire;

         初始化数据库,用openfire数据库语句来初始化数据库.source /opt/openfire/resources/database/openfire_mysql.sql;

3.设置OPenfire,进入http://127.0.0.1:9090/进行设置,只是在数据库的时候设置成自己的数据名就OK.

4.启动Spark,由于Spark与Openfire是同一个公司开发的,所以很容易设置,启动后设置服务器就OK了.


但是在Ubuntu下可能会报错

spark cannot access Spark/lib/windows: No such file or dir
解决如下: http://community.igniterealtime.org/thread/31623
You just need to change windows to linux in the Spark startup file.
 There was this:
 for i in `ls "$app_home/lib/windows" | egrep "\.(jar$|zip$)"`
 to
for i in `ls "$app_home/lib/linux" | egrep "\.(jar$|zip$)"`
 and it is running for me.  Although, now that I look at the file, right under it, I see this:
 _path "$app_home/lib/windows/$i"


如果出现乱码,有2个可能,1.数据库编码不对,2.OPenfire编码不对,

创建数据库的时候设置utf8编码 

create database openfire default character set utf8 default collate utf8_general_ci

如果已经建好数据库,则修改其编码:

mysql> alter database openfire default character set utf8 default collate utf8_general_ci;


在初始化openfire数据库,即第一次配置openfire服务器时,在连接数据库那里的连接串要加入字符编码格式,必须在连接里增加UTF8的编码要求,连接字符串设置如下: jdbc:mysql://127.0.0.1:3306/openfire?useUnicode=true&characterEncoding=utf8 如果已经安装完成,这个配置也是可以改动的,直接到openfire的安装目录下,找到conf/openfire.xml这样一个文件,打开找到如下的XML节,修改其中的serverURL即可 <database> <defaultProvider> 

<driver>com.mysql.jdbc.Driver</driver> 
<serverURL>jdbc:mysql://127.0.0.1:3306/openfire?useUnicode=true&amp;characterEncoding=utf8</serverURL> 
注意:由于&具有特殊含义,因此原&符号必须被转义为&amp;(在xml中使用:“jdbc:mysql://127.0.0.1:3306/openfire?useUnicode=true&amp;characterEncoding=utf8”这个字符串。)


Spare界面不支持中文的解决办法:

Linux下Java图形界面中文显示乱码问题往往是所合适的jre/fonts里面没有合适的字体。

1,找到jre路径,创建fallback文件夹
代码:cd /home/gaoyibo/comodo/openfire/Spark/jre/lib/fonts
sudo mkdir fallback
2,进入fallback文件夹,链接中文字体(我选的是文泉驿正黑)
代码:cd fallback
sudo ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc
sudo mkfontdir
sudo mkfontscale

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值