0

私は問題を抱えており、誰かが私を助けてくれることを願っています

XAgent(レンダリングされたXPageではない)から複数のスレッドを開始しようとしています

public class ImportThread extends NotesThread {

Session currentSession;

public ImportThread(String maildb, String Server)
{

try{
   currentSession =DominoAccess.getCurrentSession();
   this.maildb = currentSession.getDatabase(Server, maildb);
}catch (Exception e) {
e.printStackTrace();
}

}

public void runNotes()
{
   View v = maildb.getView("$Calendar");
}

このバージョンでは、ビューにアクセスできませんでした。「null」が返されるだけです。Javaスレッドを使用したバージョンを試しましたが、実際には良くありません。

thean私はOpenntfで何かを見つけました http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=Threads%20and%20Jobs

しかし、そこで「AccessControl例外」が発生しました

これ以上のアイデアはありません。誰かが複数のスレッドでXAgentを作成する方法を知っていることを願っています

4

2 に答える 2

1

AfaikNotesObjectsはスレッド間で共有しないでください。したがって、Database mailDBを使用する代わりに、String mailDBNameを使用して、すべてのNotesObjectを独自のスレッド内でインスタンス化する必要があります。実行時間も監視する必要があります。XAgentがトレッドの終了を待つ場合は問題ありませんが、「ファイアアンドフォーゲット」アプローチの場合は、マネージドBeanのようなより永続的なものから開始する必要があります。セッションスコープ。お役に立てば幸い

于 2012-04-18T00:59:54.907 に答える
1

Egorが書いたように、NSFからJavaコードを実行する場合は、Javaポリシーファイルを変更する必要があります。JavaコードをOSGiプラグインとしてデプロイする場合は、これを行う必要はありません。そのOpenNTFプロジェクトのドキュメントを参照してください。

于 2012-04-18T06:59:22.060 に答える