スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ローカルアクセスアプリケーションに書き換える

2008年11月28日 08:27

NotesでJavaを利用している際に発生した問題を調査する場合、始めに切り分けないといけないのは、Java アプリケーションがローカルアクセスアプリケーションかリモートアクセスアプリケーションか、と言う点です。

 リモートアクセスアプリケーションと言うのはいわゆるDIIOP経由でのアクセス、ローカルアクセスアプリケーションと言うのはNotes.jarを介してノーツクライアントのモジュールを利用してアクセスする方式です。 したがって、ローカルアクセスアプリケーションを動かすには、ローカルにNotesクライアントが導入されている必要があります。よく、「私のアプリケーションはリモートのドミノサーバーにつなぐのでローカルアクセスではありません」と思ってしまう方も多いのですが、Sessionクラスのオブジェクトをリモートに持つかローカルに持つかの違いで、どちらもリモートのデータベースを開いたり処理する事が出来ます。

 以前このブログでDIIOPのサンプルを紹介しましたが、あのNABにアクセスするだけのサンプルをローカルアクセスに変えてみましょう。

 変更したコードでは、createSession()の呼び方が少し変わった(引数がなくなっています)のと、sinitThread()やstermThread() と言うおまじないのような処理が入っているのに気付いて頂けたら十分です。他にもローカルアクセスアプリケーションを使う方法はあるのですが、それは後日紹介します。

# そろそろ「このくらいのサンプルはデザイナーヘルプにあるじゃないか・・・」とか言われそう
# ですが、チュートリアル目的のエントリなので。。
# 一応コンパイル方法までフォローしているので。。。。

NABTest1.java

import lotus.domino.* ;

public class NABTest1
{
static String domsrv = "ServerName/Org" ; // server name
static String dbname = "names.nsf"; // database (e.g. mail\\hnagashi.nsf)


public static void main(String args[]){
try{
NotesThread.sinitThread();
Session s = NotesFactory.createSession() ;
Database db = s.getDatabase(domsrv, dbname );
if(!db.isOpen()){
db.open();
}
String title = db.getTitle();
String uname = s.getUserName();

System.out.println("UserName: " + uname );
System.out.println("ServerName: " + db.getServer());
System.out.println("Title: " + title);


}catch(NotesException ne){
System.out.println(ne.id + ne.text);
ne.printStackTrace() ;
}catch (Exception e){e.printStackTrace() ;
}finally { NotesThread.stermThread();}
}

}



コンパイル用バッチファイル (C:\MyJava を作業フォルダと仮定しています。)
compile.bat

set Java_HOME=D:\Java\JDK6.0\bin
set PATH=%Java_HOME%;%PATH%
set CLASSPATH=C:\lotus\Notes\jvm\lib\ext\Notes.jar;C:\myjava
javac -target 1.5 NABTest1.java

# 7.x をご利用の場合は、-target を 1.4にして下さい。。

run.bat
java -cp c:\MyJava;C:\lotus\Notes\jvm\lib\ext\Notes.jar NABTest1


コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://hnagasim.blog8.fc2.com/tb.php/28-96faf48a
    この記事へのトラックバック


    最新記事


    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。