使用 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 代理程序代码示例
使用 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 服务器上。
在 Domino Designer 8.5.1 中打开 Notes 数据库 文件 TestNSF. nsf, 展开 Code 节点,在 Agents 节点上点击右键,在菜单中 选择”New Agent”,在弹出的 对话框中选择”Java”,命名为”DataExtractionAgent”。如图 1 所示:
图 1. 创建 Java Agent
![](https://i-blog.csdnimg.cn/blog_migrate/bec16a4baa4a821d90beaa1c7f3cf28e.png)
系统会 自动在默认包中创建 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 包视图中的显示
![](https://i-blog.csdnimg.cn/blog_migrate/acea5e46749ba6584b7adc747cd8cbc4.png)
在 Java 视图中可以方便的完成 Java 代理程序的 开发,之后可以回到 Domino Designer 视图,执行 Java 代理的测试。
选择 Code 节点下的 Agents 项,在右边的窗体中得到所有 Agent 程序的列表,右键点击 DataExtractionAgent,选择”Run”命令,则触发了该 Agent 程序的运行。
图 3. 测试 Java 代理程序
![](https://i-blog.csdnimg.cn/blog_migrate/40c75399e84350e36930cb4b7deca9ed.png)
运行的结果是得到一个日志对话框 提示 Agent 执行的情况。
图 4. Java 代理程序运行情况
![](https://i-blog.csdnimg.cn/blog_migrate/b37b7acfb788ad63b2e336711a550b35.png)
代理被触发的方式主要分为两种,一种通过菜单调用,另一种则通过调度来实现。通过菜单调用的 Java 代理可以部署在 Notes 客户端或者 Domino 服务器;而调度的 Java 代理只能运行在 Domino 服务器上。