【问题标题】:How to add agent to lotus client using java如何使用 java 将代理添加到 Lotus 客户端
【发布时间】:2015-07-28 05:35:08
【问题描述】:

我编写了一个简单的代理程序来获取 unprocessedDocuments() 和 updateprocessedDoc 的计数。

 public class JavaAgent extends AgentBase {

public void NotesMain() {
    FileWriter fw = null;
    try {
        Session session = getSession();
        AgentContext agentContext = session.getAgentContext();
        DocumentCollection dc = agentContext.getUnprocessedDocuments();
        Document doc = dc.getFirstDocument();
        System.out.println(dc.getCount());
        while(doc!= null){
            agentContext.updateProcessedDoc(doc);
            doc = dc.getNextDocument();
            }
    } catch(Exception e) {
        e.printStackTrace();
    }
  }
}

我在 Lotus Notes 客户端中编写了这个代理程序,它运行良好。现在我想以编程方式将此代理添加到其他 Lotus 机器。

我有一个代码来列出 lotus notes 客户端中的所有代理,如果我的代理不存在,那么我需要将此代理添加到他们的机器中。此代码在外部运行,而不是在 Lotus 客户端内部。那就是解决方案不应该扩展AgentBase,它会扩展NOtesThread。

请建议我,如何实现这一点。 假设在不涉及管理员的情况下添加此代理。

【问题讨论】:

  • 您不涉及管理员的原因是什么?我想不出办法,但原则上我会说,在没有管理员参与的情况下,不应允许任何人向用户客户端添加代码。管理员负责维护 Lotus Notes 环境的安全性。
  • 你把我弄糊涂了。 Domino 代理是在数据库中编写的,而不是直接在客户端上。您在哪个数据库中编写了此代理?也许用户邮件数据库?也许是用户本地的names.nsf?也许在别的地方。根据编写位置的不同,有不同的方法可以将代码分发给其他用户。
  • 这个代理写入用户的邮件数据库中。
  • 这是在不同机器上测试我们的代码所必需的。这是一种概念证明。有两种方法,要么转到每个用户并手动将代理添加到他们的数据库中,要么以编程方式将代理添加到用户机器中。在任何一种情况下,都是在用户同意的情况下完成的。对于这个小型 PoC,我们不想让管理员参与进来。
  • 将此代理添加到邮件数据库模板,并使用此模板刷新用户邮件数据库的设计。

标签: lotus-notes lotus


【解决方案1】:

您已表明代理已包含在邮件模板中。

正确的程序应该是:

  • 在管理员的帮助和授权下,创建包含新代理的邮件模板的新副本。
  • 请管理员将第一个测试人员的电子邮件设计替换为新模板。
  • 测试。
  • 测试完成后,请管理员为其他测试人员更换邮件数据库的设计。
  • 理想情况下,这应该在单独的测试域中执行,以避免产生影响生产域的后果(例如大量发送电子邮件)。

鉴于管理员对您执行这些测试的环境负责,不包括他在内,至少看起来是不尊重的,而且无论如何都是不专业的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    相关资源
    最近更新 更多