lotus.domino.local 提供了從同一計算機上的 Notes/Domino 軟件進行調用。
lotus.domino.cso 提供了從通過遠程連接訪問的 Domino 服務器進行調用。
對于本地訪問,Java 程序運行在安裝有 Notes 客戶機或者 Domino 服務器的計算機上。本地類由 JNI(Java Native Interface)構建來,用于訪問與 JVM(Java Virtual Machine)相同的進程中的 Notes/Domino 二進制文件。對于遠程訪問,Java 程序使用 CORBA(Common Object Request Broker Architecture)請求 Domino 服務器所提供的服務。遠程類使用 CORBA 通過 TCP/ip 網絡訪問服務器。遠程訪問由以下兩個部分組成:
客戶機通過 HTTP 協議獲得服務器的初始對象,作為 IOR (InterOperable Object Reference)。
客戶機通過 IIOP 連接進一步獲得其他對象。
本地調用
createSession 的調用沒有參數,第一個參數為 null 或者第一個參數為空字符串都表示本地調用。下列代碼是等價的:
Session s = NotesFactory.createSession()
Session s = NotesFactory.createSession((String)null)
Session s = NotesFactory.createSession("")
將 null 轉換成 String,以避免過載沖突。要從應用程序和 servlet 中實現本地調用,路徑中必須包含 Notes/Domino 的程序目錄,類路徑中必須包含 Notes/Domino 程序目錄中的 Notes.jar。例如:
set path := %path%;c:/lotus/domino
set classpath := %classpath%;c:/lotus/domino/Notes.jar
Notes.jar 中包含 lotus.domino 和 lotus.domino.loca 包。本地調用需要用 NotesThread 類治理線程。NotesThread 類擴展了 java.lang.Thread,包含專門針對 Domino 的初始化和終止代碼。您有以下三種選擇:
通過繼續來執行線程。
通過 Runnable 接口來執行線程。
通過靜態方法來執行線程。
通過繼續來執行線程
要通過繼續來執行線程,需要擴展 NotesThread,而不是 Thread,并且需要包含 runNotes 方法,而不是 run 方法。NotesThread 線程可以和任何其他線程一樣通過 start 方法來啟動。這種方式比靜態方法(稍后討論)輕易使用,且不易出錯。
import lotus.domino.*;
public class myClass extends NotesThread
{
public static void main(String argv[])
{
myClass t = new myClass();
t.start();
}
public void runNotes() // entry point for Notes thread
{
try
{
Session s = NotesFactory.createSession();
// Operational code goes here
}
catch (Exception e)
{
e.PRintStackTrace();
}
}
}
新聞熱點
疑難解答