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

嗯....我不认为这是可能的。

这样做的一个主要障碍是 XPages JVM 和代理管理器 JVM 并不相同。这就是您不能在代理中重用 Java 类(8.5.3 中的新设计元素)的原因。

但是,您展示的代码示例可以很容易地被编码为仅使用 Java 的“标准”Java 代理。我知道该示例可能只是用于演示目的 - 但您拥有 Java 中可用的所有后端类,因此您可以使用纯 Java 编写所需的代码。它是稳定的、可扩展的——只要你记得回收对象(就像在 Java 中一样);-)

/约翰

于 2012-07-10T07:54:20.333 回答
0

我建议改用 LotusScript 编写计划代理。我知道语法可能不熟悉,但是在本机做某事比硬着头皮做要容易得多。

于 2012-07-10T19:11:54.497 回答