lotus designer 8.5 中创建 JAVA 代理 在开发 LotusDomino数据库的过程之中,开发人员可以创建 Java 代理(Agent)程序,方便将 Lotus Notes Java API 和任何第三方的 Java 类库整合到 Domino 数据库中,使得 Notes 数据库具有强大的可扩展性。在 Domino Designer 8.5.1 中,集成了 Eclipse 开发环境,用于 Java 代理的开发。本文将通过一个具体的应用案例,向 Lotus Domino 开发人员介绍如何使用 Domino Designer 8.5.1 开发依赖于第三方 Java 类库的 Java 代理程序,并阐述了如何部署基于事件触发和被调度的代理程序。 应用环境分析 我们需要对一个现有的 Notes 数据库进行改造,这个 Notes 数据库中存在一系列的视图,某些视图中包含的文档包含统一格式的 Excel 附件。我们需要批量地从这些 Notes 文档中提取出 Excel 附件,并将 Excel 文件中的数据保存到 DB2 数据库中。 客户存在两种不同的需求,一种是手动选择需要处理的 Notes 文档,另一种则 是在每 个月固 定 的时 间 点 执 行批处理程序,将符 合特 定 条 件的 Notes 文档批量进行处理。对于这两种需求,我们都 可以通过建立 Java 代理程序来 实 现。 使用 Domino Designer 8.5.1 创建 Java 代理 在 Domino Designer 8.5.1 中打 开 Notes 数据库文件 TestNSF.nsf, 展开 Code 节点 ,在 Agents 节 点 上 点 击 右 键 ,在菜 单 中选择”New Agent”,在弹出的对话框中选择”Java”,命名为”DataExtractionAgent”。如图 1 所示: 图 1. 创建 Jav a Agent 系 统 会 自 动 在 默 认 包 中 创 建 JavaAgent.java 文 件 , 该 类 扩 展 了 lotus.domino.AgentBase 类 , 并 重 载 了 NotesMain() 方 法 。 清单 1. Jav a 代理程序代码示例 public void NotesMain () { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) } catch(Exception e) { e.printStackTrace(); } } 使用 session 对象可以获取当前的代理程序所处的 Notes 数据库或者其他数据库对象,并 调用 Notes Java API 实施数据库文 档的增删改查, 以及元数据的读取等操作。 agentContext 对 象 是 Java 代 理 的 运 行 环 境 对 ...