我有一个标有"在后台客户端线程" 中运行的Java代理。 当通过如下公式语句调用时,代理运行正常:
@Command([RunAgent]; "MyAgent")
我的问题是我无法通过文档ID提交参数。
或者,我可以使用Lotus Script使用我想要的参数调用代理:
Call shAgent.Run(doc.NoteID)
或者像这样:
Call MyAgent.RunWithDocumentContext(doc)
但是在这种情况下,代理不会在自己的线程中运行。我知道存在其他methods。但我更愿意出于传统原因使用代理。
有没有办法让代理在从Lotus Script调用时在自己的线程中运行,或者在不使用环境变量的情况下通过公式调用时将参数传递给它?
答案 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