用 Lotus Domino Designer 8.5.1 创建 Java 代理

来源:互联网 发布:linux cp -r 编辑:程序博客网 时间:2024/05/23 13:14
使用 Domino Designer 8.5.1 创建 Java 代理
在 Domino Designer 8.5.1 中打开 Notes 数据库文件 TestNSF.nsf, 展开 Code 节点,在 Agents 节点上点击右键,在菜单中选择”New Agent”,在弹出的对话框中选择”Java”,命名为”DataExtractionAgent”。如图 1 所示:

图 1. 创建 Java Agent


系统自动在默认包中创建 JavaAgent.java 文件,该类扩展了 lotus.domino.AgentBase 类,并重载了 NotesMain() 方法。
清单 1. Java 代理程序代码示例

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 代理的运行环境对象,可用来获取被用户选择的 Notes 数据库文档列表等对象。当 Java 代理被触发时,AgentBase 类的 NotesMain() 方法将被调用。
接下来,我们可以在 Java 代理中继续建立其它的 Java 包和类;如果我们需要在 Java 代理程序中调用第三方的 Java API,我们可以将依赖的 Java 类库拷贝到 Notes 或 Domino 内置的 Jvm 的 lib/ext 目录下。
在 Domino Designer 中,切换到 Java 视图,发现 DataExtractionAgent 作为一个独立的 Java 项目存在,Domino Java Library 下可以看到新增加的 Java 类库,agent.jar 包含了从 Excel 文件中读取数据保存在 DB2 数据库中业务逻辑,而 db2 开头的两个 jar 包提供了操作 DB2 数据库的 API。

图 2. Java 代理程序在 Java 包视图中的显示


在 Java 视图中可以方便的完成 Java 代理程序的开发,之后可以回到 Domino Designer 视图,执行 Java 代理的测试。
选择 Code 节点下的 Agents 项,在右边的窗体中得到所有 Agent 程序的列表,右键点击 DataExtractionAgent,选择”Run”命令,则触发了该 Agent 程序的运行。

图 3. 测试 Java 代理程序


运行的结果是得到一个日志对话框提示 Agent 执行的情况。

图 4. Java 代理程序运行情况


代理被触发的方式主要分为两种,一种通过菜单调用,另一种则通过调度来实现。通过菜单调用的 Java 代理可以部署在 Notes 客户端或者 Domino 服务器;而调度的 Java 代理只能运行在 Domino 服务器上。
原创粉丝点击