利用 Eclipse IDE 为 Lotus Notes/Domino 开发 Java 代理。下载并安装 Eclipse,然后 解使用 Eclipse 创建项目、调试 Java、重构代理以及将代理导入 Domino Designer 何等轻松。
Java 和 Lotus Notes/Domino 理想 开发组合。将它们组合 起,可以使 Notes/Domino 开发 员充分利用其常用开发环境 Domino Designer 中目前可用 所 Java 代码和包。
Eclipse 大概 最好 集成开发环境之 ,它提供 非常丰富 特性,其中包括上下文相关操作、视图、富调试程序(rich debugger)和重构。重构可以将 Java 代码重新命名、移动、添加和提取到新 方法中,以减轻清除初始编码尝试 工作量,使其简洁易读,并使其成为您要向其他开发 员显示 代码。对许多开发工作来说,重构 Eclipse 最好 项功能。
调试 Lotus Notes/Domino 7 中 Java 代理 能力,现 就可以协调 Lotus Notes/Domino 和 Eclipse,为 Notes/Domino 应用程序创建设计优良 可调试 Java 代理项目。
进行任何 Lotus Workplace 开发都需要确实 解 Eclipse 如何工作 。Lotus Notes/Domino 7 提供 个现 开始学习 Eclipse 极好理由,既将它用于 Notes/Domino 些操作,增加将来也可以应用于 Lotus Workplace 项目 技能。
本文讲述 如何安装 Eclipse,如何为 Lotus Notes/Domino 创建项目,以及如何将这个项目导入 Domino Java 代理中,然后调试该代理。本文还提供 调试这些代理 些技巧和可能遇到 陷阱。
安装 EclipseWebSphere Studio Application Developer 基于 Eclipse ,所以如果安装 Eclipse,就可以随同本文 解如何使用 WebSphere Studio Application Developer。如果没 安装 Eclipse 或 WebSphere Studio Application Developer,那么您需要先获得这两个应用程序。Eclipse 可以从 Eclipse 基础网站免费下载。WebSphere Studio Application Developer 试用版也能找到。
下载 Eclipse 或 WebSphere Studio Application Developer。Eclipse 很容易安装;Eclipse Web 站点上 安装说明。下载 用于 Windows zip 文件之后,需要运行 eclipse.exe 文件。WebSphere Studio Application Developer 比较复杂。请参考相应文档,以获得安装说明。
注意:下面 步骤讲述 Eclipse 3.0。如果您安装 Eclipse 其他版本,可能会发现用户界面以及步骤 本文中讲述 所 同。
Eclipse 和 Rational ClearCase 源代码控制如果要集成 Eclipse 和 Rational ClearCase 源代码控制系统,可以下载并安装 IBM Rational ClearCase SCM adapters for Eclipse 2.11。否则,默认源代码控制系统 CVS。
Eclipse 中创建新 Java 项目安装 Eclipse 和所 插件后,现 就可以创建项目,并以此作为 Notes/Domino 工作 开始。必须 个项目内存储所 Java 代码。 工作区中可以 多个项目。 计算机中还可以 多个工作区,可以使用 eclipse.exe –data 开关来指向 同 工作区。
要创建新 Java 项目,需要打开 Eclipse,选择 File - New - Project。然后 New Project 对话框中选择 Java Project,最后单击 Next。
图 1. New Project 对话框
输入项目名称,然后单击 Finish。创建 项目后,要更改项目属性中 路径,使其指向 Notes.jar 文件。右击 Package Explorer 附签中 项目并选择 Properties。 Properties 对话框中,选择 Java Build Path,然后选择 Libraries 附签。单击 Add External JARs 按钮,导航到 Notes.jar 文件,以将其添加到类路径中。
图 2. Properties 对话框
添加 JAR 文件之后,可以使用项目中 Notes Java API 定义 类和接口。Domino Designer on-line help 中 关于 Notes Java API 文档。
接着,需要下载 Sun 1.3.1 JRE。或者,如果计算机上安装 Domino 服务器,可以使用该服务器 JVM。Notes 客户机和 Domino 服务器应该 匹配 ,以确保构建项目所用 JVM 从服务器任务或代理服务器任务调用时代理和程序将运行 JVM 相同。
Lotus Notes/Domino 当前版本使用 Java 1.3.1,所以必须安装该软件以使用正确 版本来构建项目。(Lotus Notes/Domino 7 使用 JDK 1.4。)虽然许多 Java 代理和程序都可以编译,而且没什么问题,但可能会陷入另 些问题,比如使用 个 JDK 版本构建程序,却 另 个版本上运行。如果安装 Eclipse 3.0,因为它 基于 Java 1.4.2 ,所以需要删除 JDK System Library 并创建 个新库来指向 JDK 1.3.1 安装。要进行这项操作,需要选中 Libraries 附签 Properties 对话框中 JRE System Library,并单击 Remove。
要添加新库,可以单击 Add Library 按钮。 Add Library 对话框中,选择 JRE System Library,然后单击 Next。选择 Alternative JRE 选项(如果尚未选择)。然后单击 Installed JREs 按钮。单击 Add 并完成 Add JRE 对话框来添加 JDK 1.3.1。
图 3. Add JRE 对话框
保存对项目 更改。
创建第 个 Java 代理Domino Designer 开始时会自动为您填充第 个 Java 代理。 过,Eclipse 会这样,所以它需要创建新类,来实现正确 AgentBase 接口,获取 Domino 会话和 agentcontext 对象。可以使用 Domino Designer 中 代码作为指导。
图 4. Domino Designer Java 代理
将骨干 Java 代码从 Domino Designer 直接复制到 Eclipse 项目中 新类中。 们建议您创建新 包,并于其中存储代理。这将 助于组织项目,并且这符合 般 Java 设计原则。要创建新 包,可以选择 File - New - Package。
图 5. New Java Package 对话框
们创建名为 com.ibm.NotesJava.agents 包,因为 IBM 工作,并且这 们 Notes Java 项目。 们将 这个包中存储代理。可以看到 其他常见包 com.sun.*、org.apache.* 和核心 Java 语言函数 java.lang.*。至于如何组织包 整套原则,但这 本文讨论范围内,重要 要将代理和代码放 默认包中,因为这个包杂乱且 专业。
现 已经 新包,所以可以创建新 Java 类。要 Eclipse 中创建新 Java 类,可以选择 File – New – Class。Eclipse 效率非常高,所以如果已经选择 包,那么 Eclipse 将填充包名称。可以 这里添加名称和超类 。对于 Notes 代理,超类必须始终 lotus.domino.AgentBase。 Domino Designer 中,该操作 自动进行 ,但 Eclipse 中,必须手工完成这项操作。
图 6. New Java Class 对话框
创建类之后,就可以输入剩余 代理代码,从而使其看起来 Domino Designer 示例中 代理 样。
图 7. Eclipse 中 JavaAgent
构建代理时,将 包目录中创建 JavaAgent.class 文件。现 已经 类文件, 们可以将其导入 Domino Designer 中 代理中,并 Eclipse 中管理代码。 Domino Designer on-line help 中,请参阅“Import Java”主题,以获取更多信息。 将文件导入代理中之后,当调用该代理时,可以运行已经编写 Java 代码。现 就可以使用 Eclipse 调试程序来调试该代码 。
调试 Java 代码Eclipse 封装 Java 调试程序,使您能够遍历和更改变量,监视项并 Java 代码中添加断点。第 步 调试模式下加载 Lotus Domino 中 JVM。这样可以强迫 JVM 停止,等到附加 调试程序后再继续进行其操作。Lotus Notes/Domino 6 或之后 版本中包含这项功能,要启用该功能,可以添加 Notes.ini 变量 JavaEnableDebug=1,然后重新启动服务器。
下 阶段 服务器上运行代理,并等待服务器冻结代理 执行。 冻结代理 执行之后,JVM 将等待调试程序附加到 TCP/IP 端口 9788。
打开 Eclipse 和项目。选择 Run - Debug 来打开 Debug 对话框,然后选择 Remote Java Application,单击 New 创建新 调试会话。最后, Connect 附签中,指定服务器 主机名称,如果服务器 所调试 计算机上,则指定本地主机 名称。
图 8. Debug 对话框
对于高级用户,可以按如下所示改变端口号和调试设置:
JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000
Suspend=n 没 冻结服务器来等待调试连接,所以可以错过代理 启动。该调试设置允许您将额外参数传送给服务器中 JVM 调试程序。如果您 自己喜欢 设置,也可以 这里使用。
最好 代理代码中已经设置 断点。当 调试模式下使用 Eclipse 将代码附加到服务器时,它应该会自动断开,并允许您检查变量,设置其他断点,执行需要使用 其他所 调试任务。
其他 Eclipse 指针现 Eclipse 中已经 项目,它提供 Domino Designer 内大型 Java 项目所没 许多增强开发和组织任务。Domino Designer 适用于较小 Java 任务,比如获取或设置多个值或简单 报表。 过, 旦开始将代码分入 同 包、定义接口并将工作委托给其他 ,项目管理会变得更复杂。
Eclipse 包含用于协同工作 内置工具,其中包括 CVS 源代码控制集成。Rational ClearCase 源代码控制插件允许您附加到 ClearCase 中存储 Eclipse 项目中。它提供 自动或即时 代码检入和检出、简洁 修饰符,从而可以轻松地标识源代码控件中 对象及其状态。
Eclipse 中另 项非常 用 功能 可以重构项目。例如,可以选择代码 部分并将其移至它自己 方法中。如果您 个非常长 方法,想将其分入较小 步骤中,那么可以将这项操作自动化,Eclipse 能够帮助您实现该自动化。下列代码片断 个重构示例:
Initial functionpublic void NotesMain() {try {Session session = getSession();AgentContext agentContext = session.getAgentContext();Database db;// I am running this, use the server - or it can assume it is localif (session.getUserName().equals("CN=Ian Connor/OU=Westford/O=IBM") == true)db = session.getDatabase("support/iris","support/retain.nsf");elsedb = session.getDatabase("","support/retain.nsf");System.out.print(db.getFileName());} catch(Exception e) {e.printStackTrace();}}可以选择要移至其自己 函数 代码部分,然后选择 Refactor - Extract Method。这将确定需要传送 参数和应该返回 数据。您所需要做 就 选择方法名称。然后可以预览更改,查看要进行 操作。这将 助于您更好地组织代码,使试图 解代码 其他 更容易维护代码。正如所 开发 员都知道 ,包含较短函数 、简洁 、组织良好 代码基数(code base)要比非常长 、似乎 会结束 1000 行函数容易使用得多。
public void NotesMain() {try {Session session = getSession();AgentContext agentContext = session.getAgentContext();Database db;db = getRetainDatabase(session);System.out.print(db.getFileName());} catch(Exception e) {e.printStackTrace();}}private Database getRetainDatabase(Session session) throws NotesException {Database db;// I am running this, use the server - or it can assume it is localif (session.getUserName().equals("CN=Ian Connor/OU=Westford/O=IBM") == true)db = session.getDatabase("support/iris","support/retain.nsf");elsedb = session.getDatabase("","support/retain.nsf");return db;} 重构 所 开发工作 基础部分。 们总 愿意立即共享代码 第 个 cut。 使用新 API 或新 工作方式时更 如此。先 花费大量时间编写 小部分代码,以测试其如何工作,然后当可以运行该代码时,将停下来适当组织代码,使查看该代码 能够看懂。
结束语Eclipse Notes 开发 员可以 其当前和将来项目中使用 非常 用 平台。它可以帮助开发 员更好地组织项目, 小组中 其他 共享代码,并更好地利用 Java 设计技术,如接口和代码分隔。随着 Lotus Workplace 和 Lotus Notes/Domino 集成度越来越高,Java 和 Eclipse 将发挥重要 作用。Notes 开发 员现 可以凭借自己 合并和群件技能进行构建,同时还要准备应付未来 挑战。
新 产品或工作方式必须具 些重要功能和优点,才能确保 们愿意采用该产品或方式。对于必须提交编写得很好 、提供优质 Java 代码 应用程序 Notes 开发 员来说,Eclipse 提供 调试、重构和源代码控制。所 这些 任何重要 开发工作中都 重要 功能,它们将确保 得到 成果相比,您花费时间学习如何使用 Eclipse 进行 Notes 开发 非常值得 。
,
分享到:
相关推荐
本书全面介绍了Lotus Notes R5中文版的操作和使用。共分24学时进行讲解,是自学和培训的优秀教程。它既适合初学者学习,也可以作为高级操作人员的参考书。 本书主要包括以下方面的内容:创建和发送电子邮件;使用...
使用Lotus Notes连接Exchange 2003收发邮件
教程名称: Lotus Notes使用详细教学视频(10讲)【】一:在notes的环境中工作【】七:使用文档格式化工具美化Notes Mail【】三:使用链接与附件【】九:使用日历视图与管理个人日历【】二:创建与发送邮件【】五:...
Lotus Notes程序设计,不错的东东
如何改变LotusNotes 工作区字体的大小
lotus notes全面使用手册(初级版),分为两个部分,很高兴能够与大家分享
本文介绍关于全球化的最佳实践,您可以使用它们开发良好的 Lotus Notes 应用程序。Lotus Notes 模板目前已被翻译为 27 种语言,本文展示我们在数年中开发 Lotus Notes 模板获得的经验,以及作为翻译团队成员获得的...
lotus notes全面使用手册,分为两个部分,很高兴能够与大家分享
lotus notes 用于公司内部信息交流等作用
里面主要包含Lotus Notes服务器和客户端的 安装 配置 还有新建用户等操作,相当详细。
如何设置Lotus Notes收发Internet邮件
详细介绍lotus notes的安装和配置
Lotus Notes开发教程.rar
详细的介绍了安装Lotus Notes6.53服务器
Lotus Notes 常见错误
对于碰到lotus notes客户端异常关闭后,不能立即重新打开的情况,用这个小程序即可完全关闭notes程序,再次则立即可以打开lotus notes客户端。
lotus notes 教程 电子书 文档 方案 计划 教材 实施 lotus notes 教程 电子书 文档 方案 计划 教材 实施 lotus notes 教程 电子书 文档 方案 计划 教材 实施 lotus notes 教程 电子书 文档 方案 计划 教材 实施 ...
学习lotus notes ,让我们一起加油
LOTUS NOTES公式归类,lotus编程资料,经过整理后,将LOTUS常用编程公式汇总
Lotus Notes 自定义信头方法