使用 Domino Designer 8.5.1 创建 Java 代理
在 Domino Designer 8.5.1 中打开 Notes 数据库文件 TestNSF.nsf, 展开 Code 节点,在 Agents 节点上点击右键,在菜单中选择”New Agent”,在弹出的对话框中选择”Java”,命名为”DataExtractionAgent”。如图 1 所示:
系统会自动在默认包中创建 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 包视图中的显示
更详细可以参考:
http://www.ibm.com/developerworks/cn/lotus/designer85-javaagent/