从Lotus Script调用时,Java Agent不会在自己的线程中运行

时间:2014-07-16 08:34:18

标签: lotus-notes lotus-domino lotusscript lotus-formula

我有一个标有"在后台客户端线程" 中运行的Java代理。 当通过如下公式语句调用时,代理运行正常:

@Command([RunAgent]; "MyAgent")

我的问题是我无法通过文档ID提交参数。

或者,我可以使用Lotus Script使用我想要的参数调用代理:

Call shAgent.Run(doc.NoteID)    

或者像这样:

Call MyAgent.RunWithDocumentContext(doc)

但是在这种情况下,代理不会在自己的线程中运行。我知道存在其他methods。但我更愿意出于传统原因使用代理。

有没有办法让代理在从Lotus Script调用时在自己的线程中运行,或者在不使用环境变量的情况下通过公式调用时将参数传递给它?

1 个答案:

答案 0 :(得分:2)

您可以通过个人资料文档传递参数:

@SetProfileField("MyProfileDocument"; "MyField"; MyValue);
@Command([RunAgent]; "MyAgent")

要在Java中获取价值,请使用以下命令:

//Your code
Document profileDoc = session.getCurrentDatabase().getProfileDocument("MyProfileDocument", null);
Vector value = profileDoc.getItemValue("SomeField");
//Your code