3

Lotus Notes で定期的にサーバー側の JavaScript を実行する方法はありますか?

この単純なスクリプトで Java エージェントを作成しようとしています

      ScriptEngineManager manager = new ScriptEngineManager();
      ScriptEngine engine = manager.getEngineByName("JavaScript");
      Bindings bindings = engine.createBindings();
      bindings.put("session", session);

      Object result = engine.eval("var v:NotesView = session.getCurrentDatabase().getView('allDocumentsByFormName');print(v.getTitle());"                 
        , 
      bindings);

      System.out.println(result);

しかし、うまくいきません。

何か提案はありますか?

4

3 に答える 3

3

気にしないでください。最良の方法は、 DOTを使用してトリガーするか、URL を呼び出すスケジュールされたエージェントを介してトリガーするXAgentです。

于 2012-07-10T09:08:35.547 に答える
2

うーん....私はそれが可能だとは思わない。

これに対する大きな障害の 1 つは、XPages JVM と Agent Manager JVM が同じではないことです。これが、エージェントで Java クラス (8.5.3 の新しい設計要素) を再利用できない理由です。

ただし、表示するコード例は、Java を使用するだけで「標準」の Java エージェントとして簡単にコーディングできます。この例はデモンストレーションのみを目的としている可能性があることは承知していますが、すべてのバックエンド クラスが Java で利用できるため、純粋な Java で必要なものをコーディングできる可能性があります。オブジェクトをリサイクルすることを覚えている限り(Javaではいつものように)、安定していてスケーラブルです;-)

/ジョン

于 2012-07-10T07:54:20.333 に答える
0

代わりに、LotusScriptでスケジュールされたエージェントを作成することをお勧めします。構文がなじみのないものかもしれないことは知っていますが、それを靴磨きするよりも、ネイティブに何かを行う方がはるかに簡単です。

于 2012-07-10T19:11:54.497 に答える