JAVA/CORBA クラス


Java プログラムを実行する

lotus.domino パッケージをインポートすることにより、Java プログラムから Lotus Domino オブジェクトを呼び出すことができます。プログラムは、アプリケーション、Lotus Domino エージェント、アプレット、またはサーブレットとしてコーディングできます。ローカル呼び出しはローカルコンピュータ上のランタイムコードにアクセスしますが、このコンピュータには Lotus Domino がインストールされている必要があります。CORBA に準拠したリモート (IIOP) 呼び出しはリモート Lotus Domino サーバーからランタイムコードにアクセスしますが、この場合はローカルコンピュータに Lotus Domino がインストールされている必要はありません。コンパイルは、Lotus Domino Designer がインストールされているコンピュータで行う必要があります。

メモ Lotus Notes/Domino R7 では、Sun Java(TM) 2 Platform、Technology Edition、v 1.4.2 がサポートされます。非互換を避けるため、以前の Lotus Domino サーバーまたは Lotus Notes クライアントにおいて R7 でコンパイルした Java エージェントを実行しないでください。v. 1.4.2 以下の Java Platform において、R7 Java アーカイブ (Notes.jar、domtags.jar) を使用しないでください。

メモ lotus.domino パッケージの内容は、R4.6 lotus.notes のパッケージと同様の内容に新しいクラス、メソッド、その他の拡張を加えたものです。R4.6 lotus.notes パッケージは、従来のものとの互換性のためだけにサポートを続けられます。新しいクラス、メソッド、その他の拡張は含まれません。

要件

サーバーの要件

CORBA に準拠したリモート (IIOP) 呼び出しには、Lotus Domino サーバーへのアクセスが必要です。

DIIOP を使用するために HTTP タスクを実行する必要はありません。サーバーの notes.ini ファイルに次の行が含まれていることを確認してください。

ServerTasks=<any other tasks>,diiop

このタスクは、load console コマンドを使用して後から実行することもできます。

メモ JavaMaxHeapsize の値を 64M 以下に下げないでください。64M 以下に下げると、nhttp.exe を実行しようとしたときに実行時エラーが発生します。JavaMaxHeapsize の値をサーバーの notes.ini ファイルで設定しない場合は、64M が使用されます。

Domino ディレクトリ ([サーバー] - [サーバー] の下) のサーバー文書で、必要に応じて CORBA に準拠したリモート呼び出しの許可と制限を指定します。詳しい説明を表示するには、フィールドの説明を右クリックします。


サーバーは、約 30 分ごとにセキュリティオプションのキャッシュを更新します。コンソールコマンド「tell diiop refresh」を実行すると、即座に強制的に更新します。

CORBA に準拠した Lotus Domino オブジェクトアプリケーションまたはアプレットの SSL セキュリティは、Web サーバーの SSL セキュリティの上に構築されます。最初に、「Lotus Domino R5 認証機関」アプリケーションを使用して Web サーバーのセキュリティをセットアップする必要があります。

Designer の要件

lotus.domino パッケージを使用して Java プログラムをコンパイルするには、Lotus Domino Designer R5 以上をインストールする必要があります。

スタンドアロンのアプリケーションには、classpath に Lotus Notes プログラムディレクトリの該当する Java ライブラリのサブディレクトリにある Notes.jar と、Lotus Notes データディレクトリの domino\java\NCSO.jar または domino\java\NCSO.cab を含めます。以下に例を示します。

set CLASSPATH=.;c:\notes\jvm\lib\ext\Notes.jar
set CLASSPATH=.;c:\notes\data\domino\java\NCSO.jar

Notes.jar には、上位レベルの lotus.domino パッケージ、ローカル呼び出し用の lotus.domino.local パッケージ、古い lotus.notes パッケージが含まれています。NCSO アーカイブには、上位レベルの lotus.domino パッケージと、リモート呼び出し用の lotus.domino.cso パッケージが含まれています。厳密には、CORBA に準拠したリモート呼び出しをコンパイルしない場合は NCSO アーカイブは必要なく、ローカル呼び出しや古い呼び出しをコンパイルしない場合は Notes.jar は必要ありません。

これらの 3 つの NCSO アーカイブは、内容は同じですが、アーカイブ方法は異なります。


クラスコードでは、次の上位レベルの lotus.domino パッケージをインポートしなければなりません。

import lotus.domino.*;

ランタイムの要件

ローカルな Lotus Domino 呼び出しを行う Java アプリケーションを実行するコンピュータには、Lotus Domino サーバー、Lotus Domino Designer、または Lotus Notes クライアントがインストールされている必要があり、classpath に Notes.jar が含まれている必要があります。

リモートの Lotus Domino 呼び出しを行う Java アプリケーションを実行するコンピュータには、Lotus Domino または Lotus Notes がインストールされている必要はありませんが、NCSO アーカイブのいずれか 1 つが含まれていて、それが classpath に含まれている必要があります。

Lotus Domino 呼び出しを行う Lotus Domino エージェントを実行するコンピュータでは、classpath に Notes.jar が含まれている必要があります。

Lotus Domino 呼び出しを行うアプレットを実行するコンピュータでは、Lotus Domino ソフトウェアや classpath の割り当ては不要です。このアプレットは、Lotus Domino サーバーがインストールされているコンピュータからロードされなければなりません。

メモ WebSphere(R) 環境でリモート (IIOP) 呼び出しを実行する場合は、classpath に NCSOW.jar を使用しないでください。NCSOW.jar は R5.0.4 から提供を開始されたもので、現在ではキットに含まれていません。R5 サーバーでは NCSOW.jar を使用するプログラムを実行できますが、R6 サーバーでは実行できません。NCSO アーカイブは、R5 サーバーおよび Release 6 サーバーの両方で使用できます。

Java オブジェクトのメモリ管理

Java をオブジェクトの作成に使用すると、Java オブジェクトと Lotus Notes バックエンド (C++) オブジェクトの 2 つのオブジェクトが作成されます。Java オブジェクトが NULL に設定され、ガーベッジコレクション用にフラグが付けられても、C++ オブジェクトは影響を受けません。Java オブジェクトと C++ オブジェクトの両方にガーベッジコレクション用のマークを付けるには、recycle メソッドを使用する必要があります。

オブジェクトが Java エージェント内から作成された場合、作成されたすべてのオブジェクト (Java および C++ の両方) は、エージェントの終了時に破壊されます。ただし、長時間実行エージェントまたは多数のオブジェクトを作成するエージェントの場合は、recycle メソッドの使用を考慮してください。サーブレット、JSP、またはスタンドアロン Java アプリケーションを使用する場合、バックエンドオブジェクトを削除するには recycle メソッドを使用する必要があります。

文書などの親を再利用すると、アイテムなどのそのすべての子も再利用されます。セッションを再利用すると、それが使用してきたすべてのオブジェクトも再利用されます。

lotus.domino パッケージを呼び出す

次のガイドラインは、lotus.domino パッケージへの呼び出しを行う Java プログラムに適用されます。


lotus.domino クラスを使用する

lotus.domino クラスにより、特定のデータベース、ビュー、文書、その他のバックエンドオブジェクトにアクセスできます。次の lotus.domino クラスは、直接でパブリックな使用を目的としています。



関連項目