openfire上——開發環境搭建

Openfire 採用Java開發,開源的實時協作(RTC)服務器基於XMPP(Jabber)協議 XMPP的前身是Jabber。

  您可以使用它輕易的構建高效率的即時通信服務器。Openfire安裝和使用都非常簡單,並利用Web進行管理。單臺服務器可支持上萬併發用戶。

由於是採用開放的XMPP協議,您可以使用各種支持XMPP協議的IM客戶端軟件登陸服務。

更多底層參考http://blog.csdn.net/tyj1982/article/details/6686565

1、Myeclipse項目配置文件

首先介紹下MyEclipse中classpath等配置文件。

一般說來都會有.settings、.classpath、.project文件,

.project

從數據上看,我們可以瞭解到這些配置主要是描述工程的基本信息:

  1. 工程名<name></name>
  2. 工程註釋描述<comment></comment>
  3. 運行時需要的額外Eclipse插件<natures></natures>,及其具體加載方式信息<buildSpec></buildSpec>

如果你在開發過程中向工程裏面加入了很多額外的插件,則必然會導致你的Eclipse啓動速度變慢。在這種情況下,你可以到這個文件裏面去掉一些插件,不過這樣一來你在開啓那些關聯文件的時候會加載那些插件。

.classpath

從數據上我們容易看出,上面描述了工程的依賴文件:

  1. 源文件的具體位置(kind="src")
  2. 運行的系統環境(kind="con") 可以自定義USER_LIBRARY<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/required_lib"/>  其引用位置在%myeclipse_workspace%\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.core.prefs文件中    
    [html] view plain copy
     在CODE上查看代碼片派生到我的代碼片
    1. org.eclipse.jdt.core.userLibrary.required_lib=<?xml version\="1.0" encoding\="UTF-8"?>\r\n  
    2. <userlibrary systemlibrary\="false" version\="2">\r\n\t<archive path\="/openfire_src/build/lib/dist/bcpg-jdk15on.jar"/>  
    3. \r\n\t<archive path\="/openfire_src/build/lib/dist/bcpkix-jdk15on.jar"/>\r\n\t  
    4. <archive path\="/openfire_src/build/lib/merge/jetty-jmx.jar"/>\r\n\t  
    5. <archive path\="/openfire_src/build/lib/merge/mina-integration-jmx.jar"/>\r\n</userlibrary>\r\n  
  3. 工程的library的具體位置信息(kind="lib")  <classpathentry kind="lib" path="src/web/WEB-INF/lib/dwr.jar"/>
  4. 在每個lib的xml子節點中,有關於它的其它配置信息(例如我配置的那個"javadoc_location")
  5. 項目的輸出目錄(kind="output")

總體上說這個文件就是配置整個工程的運行環境。

.settings

     裏面存放各種插件的配置文件。

以上是簡單介紹了Eclipse的Project相關的隱藏配置文件.

如顏色方案,詳細參考:http://blog.csdn.net/etjnety/article/details/7846703/

2.Openfire開發環境部署

1、下載openfire、解壓、改名

http://www.igniterealtime.org/downloads/index.jsp

附上一份所需jar   http://download.csdn.Net/detail/yongzhian/8149437

解壓到Eclipse工作目錄D:\javaSoftware\workplace_2013\openfire_src

 把openfire_src\build\eclipse目錄下面的settings、classpath、project全部複製到openfire_src\ 目錄下,然後把openfire_src\classpth、openfire_src\project、openfire_src\settings修改成Eclipse工程配置文件格式,重命名爲在每個原有的名字上加上一個點,即.classpth、.project、.settings。注意:在windows下面不能直接重命名,需要在dos下面操作,即進入相應的目錄執行,rename classpth .classpth即可,其它兩個文件執行一樣的操作。


2、導入到Eclipse,我用的是Myeclipse2013

如果導入的項目的lib與Libraries同一級別,可以複製到新的工作空間重新導入。(http://blog.csdn.net/lingxue1027/article/details/8522432)


3.修改錯誤

導入時候報錯是因爲少包bouncycastle.jar,導入後又會報少其他包,這裏直接導入需要導入的包,放入新建文件夾build/lib/extended文件夾下


點擊右鍵添加到path中並刪除libraries中報錯的bouncycastle.jar


導入項目中需要但未導入的jar。

此時報錯的有SipManager:自動修復try catch和未實現的方法  SipCommRouter添加未實現的方法  CertificateManager 自動修復強制類型轉換 eros.writeObject(csr.toASN1Primitive()); 直接修改爲null   new GeneralNames(new GeneralName[]{othernameGN}); 修改爲 new GeneralNames(othernameGN);

順利的話應該就沒有錯誤了

4、發佈

Eclipse已經集成了Ant,所以我們只需要在 /openfire_src/build/build.xml 文件右擊,選擇Run As –> Ant Build 即可完成編譯,編程成功後,會在/openfire_src/的跟目錄下生成兩個新的文件夾:target 和 work 。刷新項目即可看見

選擇Run –> Run Configurations… 左邊的Java Application,單擊右鍵,選擇 New:選中Main選項卡,點擊Browse按鈕選擇 openfire_src 項目;單擊Search 按鈕輸入:ServerStarter 自動過濾後選擇:ServerStarter – org.jivesoftware.openfire.starter:

 選中Arguments選項卡,在VM arguments中填入:

-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"

注意:項目路徑 ${workspace_loc:openfire_src}

選中Common選項卡,將Debug和Run打鉤(方便之後快速啓動),然後點擊apply,再點擊run:

恭喜你,成功了!


其實系統是通過main方法啓動的,故也可以用main方法運行


5、簡易配置

直接默認,因爲自帶MySQL所以可以直接用,如果要連接Oracle數據庫需要添加對應的jar,

標準數據庫   數據庫 URL:jdbc:mysql://10.6.21.37:3306/test?rewriteBatchedStatements=true

如果連接失敗會報錯

A connection to the database could not be made. View the error message by opening the "\logs\error.log" log file, then go back to fix the problem.

正常則:

缺少數據庫方案 openfire. 嘗試安裝...
數據庫更新成功

下一步初始設置則會建立對應的表


管理員賬戶則寫郵箱即可,完成設置即可登錄(用戶名爲admin)。



openfire具有應用層緩存 
數據庫編碼存在問題 
解決辦法其實也很簡單,首先要保證你爲openfire創建的數據庫編碼是utf8的,建表語句如下:

create database openfire default character set utf8 default collate utf8_general_ci

當你原來就創建好數據庫時,你可以用:

 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;


6、客戶端採用Spark

http://www.igniterealtime.org/downloads/index.jsp#spark

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章