Openfire 採用Java開發,開源的實時協作(RTC)服務器基於XMPP(Jabber)協議 XMPP的前身是Jabber。
您可以使用它輕易的構建高效率的即時通信服務器。Openfire安裝和使用都非常簡單,並利用Web進行管理。單臺服務器可支持上萬併發用戶。
由於是採用開放的XMPP協議,您可以使用各種支持XMPP協議的IM客戶端軟件登陸服務。
更多底層參考http://blog.csdn.net/tyj1982/article/details/66865651、Myeclipse項目配置文件
首先介紹下MyEclipse中classpath等配置文件。
一般說來都會有.settings、.classpath、.project文件,
.project
從數據上看,我們可以瞭解到這些配置主要是描述工程的基本信息:
- 工程名<name></name>
- 工程註釋描述<comment></comment>
- 運行時需要的額外Eclipse插件<natures></natures>,及其具體加載方式信息<buildSpec></buildSpec>
如果你在開發過程中向工程裏面加入了很多額外的插件,則必然會導致你的Eclipse啓動速度變慢。在這種情況下,你可以到這個文件裏面去掉一些插件,不過這樣一來你在開啓那些關聯文件的時候會加載那些插件。
.classpath
從數據上我們容易看出,上面描述了工程的依賴文件:
- 源文件的具體位置(kind="src")
- 運行的系統環境(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文件中
- org.eclipse.jdt.core.userLibrary.required_lib=<?xml version\="1.0" encoding\="UTF-8"?>\r\n
- <userlibrary systemlibrary\="false" version\="2">\r\n\t<archive path\="/openfire_src/build/lib/dist/bcpg-jdk15on.jar"/>
- \r\n\t<archive path\="/openfire_src/build/lib/dist/bcpkix-jdk15on.jar"/>\r\n\t
- <archive path\="/openfire_src/build/lib/merge/jetty-jmx.jar"/>\r\n\t
- <archive path\="/openfire_src/build/lib/merge/mina-integration-jmx.jar"/>\r\n</userlibrary>\r\n
- 工程的library的具體位置信息(kind="lib") <classpathentry kind="lib" path="src/web/WEB-INF/lib/dwr.jar"/>
- 在每個lib的xml子節點中,有關於它的其它配置信息(例如我配置的那個"javadoc_location")
- 項目的輸出目錄(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
如果連接失敗會報錯
正常則:
缺少數據庫方案 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&characterEncoding=utf8</serverURL>
注意:由於&具有特殊含義,因此原&符號必須被轉義爲&
6、客戶端採用Spark
http://www.igniterealtime.org/downloads/index.jsp#spark