Pudelduscher
Pudelduscher

Reputation: 379

Run server side javascript in an agent

is there a way to run server side javascript periodically in lotus notes?

I try to create an java agent with this simple script

      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);

but it doesn't work.

Do you have any suggestions?

Upvotes: 3

Views: 1602

Answers (3)

David Navarre
David Navarre

Reputation: 1022

I'd suggest writing a scheduled agent in LotusScript instead. I know the syntax might be unfamiliar, but it's an awful lot easier to do something natively than shoe-horning it.

Upvotes: 0

stwissel
stwissel

Reputation: 20384

Don't bother. Your best best is an XAgent that you either trigger using DOTs or through a scheduled agent that calls the URL.

Upvotes: 3

John Dalsgaard
John Dalsgaard

Reputation: 2807

Hmmm.... I do not think that is possible.

One major obstacle to this is that the XPages JVM and the agent manager JVM are not the same. This is why you cannot reuse a Java class (the new design element in 8.5.3) in an agent.

However, the code example you show could easily be coded as a "standard" Java agent just using Java. I know that the example may just be for demonstration purpose - but you have all the backend classes available in Java and therefore you may be able to code what you need in pure Java. It is stable, scalable - as long as you remember to recycle objects (as always in Java) ;-)

/John

Upvotes: 2

Related Questions