java遠程訪問Domino數據庫

Lotus Domino/Notes是目前很流行的、跨平臺的文檔數據庫系統和電子郵件系統,而Java和J2EE技術也是目前普遍使用的開發技術,所以在不少場合,不可避免地要涉及到Java遠程訪問Domino數據庫的問題html

Java遠程訪問Domino數據庫推薦採用CORBA實現,但配置很是關鍵,筆者在工做中也遇到了這個問題,在查閱資料的過程當中發現,不少文章明顯存在一些誤區或者說沒有寫清楚的地方,現將筆者的實踐經驗總結出來,和你們分享。筆者的Domino服務器版本是5.0.9。web

基本步驟數據庫

1.修改Domino服務器安全性配置,容許你的用戶運行Java/CORBA。具體操做是: 打開Lotus Domino Administrator,進入配置,打開當前服務器文檔,選擇「安全性」選項卡,在右下角「Java/COM 誰能夠-」欄中,分別在「運行有限制的Java/Javascript/COM」和「運行無限制的Java/Javascript/COM」兩項中填上你的鏈接用戶名或用戶所在組。安全

2.給你的用戶加上Internet地址和口令。若是你的用戶沒有Internet地址和口令,那麼只有Domino的管理用戶才能夠鏈接,其餘普通用戶是連不上的,並且也沒有具體的提示。筆者曾在這個地方浪費了一天的時間。服務器

註冊我的時,點擊高級選項,填寫Internet網絡域(Internet地址會自動生成,如myname@workgroup),同時選中「設置Internet口令」,之後將用這個Internet口令來創建會話。若是是已經註冊的用戶,則能夠經過編輯註冊信息來修改。網絡

3.打開notes.ini文件,確認加載了DIIOP服務。檢查notes.ini文件中的相似這樣一行:session

ServerTasks=Update,Replica,Router,AMgr, AdminP,CalConn,Sched,DIIOP,HTTP,LDAPapp

4.還有其餘配置,如用戶對Server的訪問權限、DIIOP端口設置等,這些啓用Domino服務器的缺省配置便可。配置完了須要重啓Domino服務器。dom

5.將Domino服務器主目錄下的data/domino/Java/NSCO.jar文件拷入Java工做環境,並在工程的構建路徑中加入,或者在classpath環境變量中加入。測試

6.將Domino服務器主目錄下的data/domino/html/diiop_ior.txt(CORBA訪問的識別信息)拷入你的Java工做環境,或者開放Domino服務器的HTTP服務

7.如今能夠編寫鏈接程序進行測試了:

import lotus.domino.*;

import Java.io.*;

class Test {

public static void main(String args[]) {

Session session;

String ior;

String dominoURL="11.68.81.27"; //DOMINO服務器的。lP地址

 

String username="username"; //用戶ID

String password="password"; //用戶的internet口令

try {

//若是已將ior文件拷到本地,則直接讀ior文件

try {

BufferedReader iorin=

new BufferedReader(new FileReader("diiop_ior.txt"));

ior=iorin.readLine();

iorin.close();

} catch (IOException e) {

ior=null;

}

//若是讀不到diiop_ior.txt文件,則須要經過網絡從服務下載這個文件

//這須要domino服務器開放http服務

if(ior==null) ior =NotesFactory.getIOR(dominoURL);//下載IOR

session = NotesFactory.createSessionWithIOR(ior,username,password);

System.out.println(session); //若是這一行打印出來了,表示鏈接成功

} catch (NotesException ex) {

System.out.println(ex.getClass().getName()+":"+ex.id);

}

}}

須要澄清的幾個誤區

下面是一些相關技術文章中的幾個誤區或沒有寫清楚的地方:

1.必須開放Domino服務器的HTTP服務

甚至連Lotus domino designer的幫助文檔都是這麼說,其實否則,若是你直接將DIIOP_IOR.txt文件從Domino服務器拷貝過來了,HTTP服務就沒必要要啓動。啓動HTTP服務的唯一目的就是下載這個文件。

2.必需要在Domino服務器配置中容許 HTTP 客戶瀏覽數據庫。

這個是徹底沒必要要的,上面已經講了,開放HTTP服務僅僅是下載diiop_ior.txt文件,並不須要瀏覽數據庫。

3.有些文章稱,確保設計者的機器上Notes.ini文件中含有如下行: ALLOW_NOTES_PACKAGE_APPLETS=1。其實,這個是沒必要要的。

4. 有些文章提到要根據IDL文件建立本身的CORBA庫,這樣也不必。對於遠程訪問,只需將data/domino/Java/NSCO.jar拷貝過去; 對於本地訪問,只需將Domino目錄下的notes.jar文件加到clIasspath中便可

相關文章
相關標籤/搜索