• Openfire 和 Spark

    2008-08-19 | Tag:Java openfire spark IM

    昨天不小心看到这个开源的项目,觉得挺好玩,就下载一个试试。还不错。

    主页 http://www.igniterealtime.org/
    下载地址 http://www.igniterealtime.org/downloads/index.jsp#spark

    服务器是Openfire。
    网络上的介绍:Openfire(原来的Wildfire)是一个跨平台,采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。

    客户端是Spark。
    网络上的介绍:Spark是一个开源,跨平台IM客户端。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。

    二者都基于Java,所以都得有JRE。官方的下载就发布了包含JRE和不包含JRE的两种版本:其中包含JRE的Openfire3.5.2为20.84MB,包含JRE的Spark2.5.8(offline installation)为27.04MB。客户端还有一个是Web的Flash客户端SparkWeb,跨平台。

    安装比较简单。


    先安装服务器。我机器上有JRE,所以下载的是7.18 MB的zip包,解压后可以按Documentation里的index.html安装。打开\bin下的灯泡图标openfire.exe,点击 Start,即可开启服务,然后Launch Admin即可在浏览器里配置服务。Openfire有自带的数据库,但最好还是在外部数据库比较好,性能强,功能也多。

    其中配置数据库时候得注意编码问题。
    1. 我机器上装的是MySQL,不过我不会使,只好在MySQL Query Brower中使用,新建数据库(database_name替换为自己想用的数据库名词,附带文档中没有 “ CHARACTER SET UTF8”,结果中文字符是问号)
    CREATE   DATABASE   database_name CHARACTER   SET   UTF8;
    然后Refresh一下,File -> New Script Tab新建一个脚本,把\resources\database下的openfire_mysql.sql内容复制到脚本,在右边选择刚刚建立的数据库 database_name,然后 Execute 。数据库就按指定的schema建立好了。
    2. \conf\openfire.xml是openfire的配置文件,将其中JDBC的<serverURL>内加上
    ?useUnicode=true&amp;characterEncoding=UTF-8&amp;characterSetResults=UTF-8

    文档里有说明
    Note: If the mechanism you use to configure a JDBC URL is XML-based, you will need to use the XML character literal &amp; to separate configuration parameters, as the ampersand is a reserved character for XML.

    然后装好客户端,non-Western languages就不会显示成???。


    客户端支持的功能不少,除了普通IM的聊天,还有Conference Room,BroadcastTask List,Notes,还有一些供选择的Plugins,比如Jingle Client(Allows for Pc to Pc calling),SpellChecker for Spark,Translator Plugin(Translates instant messages between users using Google Translation Service)等等。

    不过Spark.exe这个进程占用的内存也挺多的63,284KB,相比TM.exe是23,784KB。
  • 这些天看了《Spring in Action》,今天把书中的第一个例子在机器上跑了一下编译都不通过。

    XmlBeanFactory(FileInputStream)未定义

    在测试类里装入xml文件用的是这句

    BeanFactory factory=new XmlBeanFactory(new FileInputStream("src/greeting.xml"));

    查了一下org.springframework.beans.factory.xml.XmlBeanFactory,XmlBeanFactory有两个构造函数:
    • XmlBeanFactory(Resource)
    • XmlBeanFactory(Resource,BeanFactory)
    Resource在org.springframework.core.io.FileSystemResource中定义。改动一下:

    Resource rs = new FileSystemResource("src/greeting.xml");
    BeanFactory factory=new XmlBeanFactory(rs);

    最终测试成功。最后搜索了一下,有的说Spring使用的是1.2,则没有XmlBeanFactory(InputStream),而是   XmlBeanFactory(Resource)。但我用的是Spring 2.5.5呐。
  •     前几天用Eclipse写了一个利用豆瓣API的查询小工具,可惜写的程序只能在Eclipse下运行。后来百度、Google了好多,有的说直接在 Ecipse简单操作,有的说要手写Manifest.MF,有的说用Fat Jar,按照网上的说法做,最终没有成功。前些天在图书馆看到《Eclipse从入门到精通》(第2版)这本书,今天在无聊沉闷的C++课上翻了一下,正好有“项目的打包与发行”这一章。原来打包分为应用程序打包和Eclipse插件项目打包。书中提到了好几种应用程序打包的方法。最简单的就用Fat Jar插件打包。

        1.在项目中右击选择Bulid Fat Jar,填入包名,不用填Manifest,默认会自动创建清单文件,Main-Class填入口类。然后在"Select files for Fat Jar"中,选中要到的库,以及源代码(包含主类),选择完成。
        2.运行Jar需要一个批处理文件和swt-win32-3235.dll(在\eclipse\plugins\下的 org.eclipse.swt.win32.win32.x86_3.2.1.v3252.jar里,下划线及其之后是版本号),和jar包放在一个文件夹。批处理文件(后缀为.bat)的内容只有一行(假设包名为app.jar):
    javaw -jar app.jar    (运行时有个命令行窗口)    
        或者
    start javaw -jar app.jar    (运行时无命令行窗口)
        3.双击.bat文件就可以运行程序了。


        另外,如果想在没有JRE的环境下运行程序,可以把jdk文件夹下的JRE文件夹(好像安装JDK6时JRE和JDK是两个并列的文件夹,记不太清楚;我的机器上有78.0 MB……)复制到与.bat相同的目录下,.bat内容改为:
    start java jre\bin\javaw -jar app.jar
        然后双击.bat文件就可以运行。
  •     写好的SWT程序可以在Eclipse下编译运行,但在命令行下编译会抛出大量异常。因为缺少运行SWT需要的类库和相关DLL链接库。解决方法:

        1.下载swt-3.2.2-win32-win32-x86.zip(去Google哈)。
        2.解压并将以下四个文件放入\Windows\System32下:
            swt-awt-win32-3236.dll
            swt-gdip-win32-3236.dll
            swt-wgl-win32-3236.dll
            swt-win32-3236.dll
        3.修改系统变量。在classpath中加入swt.jar(安装SWT时的swt.jar,比如D:\eclipse\swt.jar)。
        4.关掉cmd。编译运行swt程序,成功。

        PS:好像也可以将dll文件放到javahome/bin目录,swt.jar放到classpath执行。不过貌似在Eclipse下写的程序在命令行下编译运行,还是会出错,得再查一查……

  •         准备学习一下Hibernate。今天基本上配置好了。一些软件或者工具不好找,我都是用“软件名 downloads”为关键字搜索出来的(用的是Google.com),最好在官方网站下载。

     

    一、下载安装JDK并设置环境变量。下载地址:http://java.sun.com/

    二、下载安装Tomcat。下载地址:http://tomcat.apache.org/
        1.因为用的是以前的版本,我只好Google一下,找到apache-tomcat-5.5.17.exe和apache-tomcat-5.5.17-admin.zip。按提示安装apache-tomcat-5.5.17.exe,我安装在了D:\Program Files\Apache Software Foundation\Tomcat 5.5下,其间要配置Tomcat的端口号、用户名和密码。安装完成后,在浏览器中输入http://localhost:8080/可以看到Tomcat的页面,则安装成功。
        2.解压apache-tomcat-5.5.17-admin.zip,然后把解压后的文件夹中的\conf\catalina\localhost目录下的admin.xml 拷贝到tomcat 安装目录中相对应的地方,再将server\webapps\下的admin文件夹拷贝到tomcat安装目录中相应的位置。这时候在浏览器里输入http://localhost:8080/admin/可以看到TOMCAT WEB SERVER ADMINISTRATION TOOL,则安装成功。
        3.配置Tomcat的环境变量。
    CATALINA_BASE=D:\Program Files\Apache Software Foundation\Tomcat 5.5
    CATALINA_HOME=D:\Program Files\Apache Software Foundation\Tomcat 5.5

    三、下载安装MySQL。下载地址:http://www.mysql.com/
        1.安装MySQL。
        2.安装工具软件。mysql-gui-tools-5.0-r12-win32.msi(其中包括mysql-query-browser-xxx,mysql-administrator-xxx,mysql-migration-toolkit-xxx,xxx表示版本号),mysql-workbench-oss-5.0.19-win32.msi,mysql-connector-java-3.1.14.zip。
        3.下载MySQL的JDBC驱动程序MySQL Connector/J 3.1,其中的.jar文件就是驱动程序。

    四、下载安装Eclipse。下载地址:http://www.eclipse.org/

    五、下载配置Hibernate。下载地址:http://www.hibernate.org/
        将下载的文件解压即可。