在代理中运行服务器端javascript

时间:2012-07-10 06:20:56

标签: lotus-notes xpages xpages-ssjs

有没有办法在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);

但它不起作用。

你有什么建议吗?

3 个答案:

答案 0 :(得分:3)

不要打扰。您最好的是XAgent,您可以使用DOT或通过调用URL的预定代理触发。{/ p>

答案 1 :(得分:2)

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

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

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

/约翰

答案 2 :(得分:0)

我建议在LotusScript中编写一个预定的代理。我知道语法可能不太熟悉,但是做一些本地的事情要比制作它更容易。