run (NotesAgent - JavaScript)

エージェントを実行します。

定義場所

NotesAgent

構文

run() : void

run(noteID:string) : void

パラメータ 説明
noteID オプション。文書の文書 ID。値は呼び出し先エージェントの ParameterDocID プロパティに渡されます。
注: このパラメータはリリース 5.02 での新機能です。

使用法

このメソッドでは、ソース言語 (シンプルアクション、式、LotusScript®、Java™) に関係なく、任意のエージェントを実行できます。

エージェントを再帰的に実行することはできません (エージェントをそれ自体から呼び出すことはできません)。

ユーザーは呼び出し先エージェントと直接対話することはできません。 ユーザー出力は Domino® ログに送られます。

呼び出し先エージェントをデバッグすることはできません。

ローカル Notes® クライアント操作の場合、エージェントは、XPage を処理しているコンピュータの Notes クライアント上で実行されます。その他の操作を行う場合は、runOnServer を参照してください。

リモート (IIOP) 操作の場合、エージェントはリモート呼び出しを処理しているサーバー上で実行されます。

以下のエージェントは、Agent to be run Java という名前のエージェントを実行します。
var agent = database.getAgent("Agent to be run Java");
agent.run()
Agent to be run Java は以下のとおりです。
import lotus.domino.*;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

      try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();

          // (Your code goes here)
          Database db = agentContext.getCurrentDatabase();
          Document memo = db.createDocument();
          String sn;
          if (session.isOnServer()) {
        	  sn = session.getServerName();
          } else {
        	  sn = "the Notes client";
          }
          memo.appendItemValue("Form", "Memo");
          memo.appendItemValue("Subject", 
               "Message from Java agent");
          memo.appendItemValue("Body", 
               "The agent is running as " +
               session.getUserName() + " on " + sn);
          memo.send(session.getUserName());

      } catch(Exception e) {
          e.printStackTrace();
       }
   }
}
以下のエージェントは Agent to be run parameter Java エージェントを実行し、このエージェントに新しく作成された文書の文書 ID を渡します。
// Create document containing data to be passed
var doc = database.createDocument();
doc.appendItemValue("TriggerUserName", session.getUserName());
doc.save(true, false);
// Start agent and pass NoteID of document
var agent = database.getAgent("Agent to be run parameter Java");
agent.run(doc.getNoteID());
Agent to be run parameter Java のコードは以下のとおりです。
import lotus.domino.*;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

      try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();

          // (Your code goes here)
          Database db = agentContext.getCurrentDatabase();
          Agent agent = agentContext.getCurrentAgent();
          // Get document used for passing data
          Document doc =
          db.getDocumentByID(agent.getParameterDocID());
          // Send mail containing passed data
          Document memo = db.createDocument();
          memo.appendItemValue("Form", "Memo");
          memo.appendItemValue("Subject", "Message from Java agent");
          memo.appendItemValue("Body", "The agent was started by " +
            doc.getItemValueString("TriggerUserName"));
          memo.send(session.getUserName());

      } catch(Exception e) {
          e.printStackTrace();
       }
   }
}

言語間の参照

LotusScript NotesAgent クラスの run メソッド

Java Agent クラスの run メソッド