2

私は、Java Swing アプリケーションを開発したチームで働いており、現在、このアプリケーションを Lotus Notes に統合する別のチームを支援しようとしています。残念ながら、私は Notes についてあまり詳しくありません。

私たちがやりたいことは、Notes から渡されたデータを使用してユーザーにアプリケーションを起動させ、渡されたデータをユーザーに操作させ、保存する準備ができたら、変更されたデータを Notes データベースに保存することです。

Notes エージェントで達成した最初の部分 - アプリケーションを起動して元のデータを渡すことができます - 問題は保存です。アプリケーションを起動するための呼び出しの後、エージェントは完了して「死ぬ」ように見えるため、後でユーザーが保存する準備ができたときにセッション/データベースへの参照を取得する方法はありません。Lotus 開発者の 1 人は、エージェントでビジー待機ループを作成して、アプリケーションの起動後にエージェントを存続させることで、それを機能させました。それは実際には受け入れられる解決策ではありません。

私たちがやろうとしていることが可能かどうか知っている人はいますか? どうやってするの?これに関する例/ドキュメントへのリンクはありますか?

4

3 に答える 3

3

1 つのオプションは、Notes エージェントに Java アプリケーションを開始させ、Java アプリケーションを非同期で実行できるようにすることです。その後、(Notes Java API を使用して) Notes データベースに直接書き込むことができます。資格情報を Notes クライアントと共有するようにクライアントを構成できるため、認証は問題になりません (または、Java アプリで Notes に対して認証を行うことができます)。Java API は非常に単純です。基本的には、LotusScript で使用できるバックエンド クラスを模倣しています。結果を特定の文書に書き戻す必要がある場合は、DocumentUniqueID (docid) を Notes エージェントから Java アプリに渡し、それを Java アプリ内で使用して書き戻すことができます。(Database クラスの GetdocumentByUnid メソッドを参照してください)。

この記事は少し古いですが、まだ関連があると思います: http://www.ibm.com/developerworks/lotus/library/ls-Java_access_pt1/index.html

于 2011-01-05T15:08:03.927 に答える
3

Lotus Notes にデータを戻すには、いくつかのオプションがあります。最善の策は、Java API を使用して Lotus Notes を呼び出し、データを追加し直すことだと思います。domingoと呼ばれる Java API へのオープンソース インターフェイスがあり、作業が楽になります。それ以外の場合は、Java API の使用方法に関する Domino Designer のヘルプを参照してください。

以下は、私が 5 分で思いつく、Notes にデータを戻すすべての方法のリストです。

  • COM または Java API を使用して、Notes オブジェクトとメソッドを呼び出します ( Domino Designer ヘルプを参照)
  • NotesSQLを使用して、SQL コマンドを使用してデータを Notes に INSERT します。
  • Notes データベースをメール受信データベースとしてセットアップし、メールでデータを渡す
  • 指定したディレクトリから読み取り (1 ~ 2 分ごとに実行)、ファイルからデータをインポートするようにスケジュールされたエージェントをセットアップします。
  • Domino を使用している場合は、URL のクエリ文字列を介してデータを渡し、エージェント内で処理できます。
于 2011-01-05T15:11:58.790 に答える
1

Lotus Notes データベース用の本格的な Java API があります。唯一の注意点: API は C コアのシン ラッパーであり、Notes オブジェクトのガベージ コレクションのためにリリースを行う必要がありました。たとえば、NotesDocument を使用した後は、その .recycle() メソッドを呼び出す必要があります。そうしないと、メモリが不足します。

于 2011-01-05T15:51:29.047 に答える