1. 背景
看到网上别人写的Java通过DIIOP访问domino对象的实例,自己也试着写了一下,其实挺简单。
2. 开发工具
a) IBM/Lotus Administrator
b) Eclipse
c) Notes.jar/NCSO.jar
3. Domino配置
服务器配置文档-->端口-->internet端口,TCPIP端口状态选择“启用”,验证选项“姓名和口令”、“匿名”都选择“是”
配置完成后,控制台输入load diiop
4. Eclipse工程引入jar包
Eclipse端新建java工程,并且选择引入外部jar包Notes.jar/NCSO.jar
5. 实现代码
package com.gavid.Domino;
import java.text.SimpleDateFormat;
import java.util.Date;
import lotus.domino.*;
public class CreateSession {
public static void main(String[] args) {
// TODO Auto-generated method stub
// String sHost = "10.3.255.17:63148";
String sHost = "10.3.88.130:60148";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
System.out.println("当前时间1:" + sf.format(new Date()));
// 匿名方式创建session
Session ss = NotesFactory.createSession(sHost);
// 指定用户名登录
// Session ss = NotesFactory.createSession(sHost, "admin", "1111");
Database db = ss.getDatabase("", "seclog.nsf");
System.out.println(db.getFileName());
View view = db.getView("alldocByDate");
System.out.println("当前时间2:" + sf.format(new Date()));
System.out.println("文档条数:" + view.getAllEntries().getCount());
System.out.println("当前时间3:" + sf.format(new Date()));
// Document firstDoc = view.getFirstDocument();
// 如果匿名无权限,则删除报错
// firstDoc.remove(true);
// 创建文档
Document doc = db.createDocument();
doc.replaceItemValue("form", "logForm");
doc.replaceItemValue("secid", "test 20150206");
doc.replaceItemValue("secGrantUser", "admin");
doc.replaceItemValue("secAuthUser", "zhangsan");
doc.replaceItemValue("right", "1,2,5");
doc.replaceItemValue("result", "true");
doc.save(true);
System.out.println("当前时间4:" + sf.format(new Date()));
// 回收domino相关对象
doc.recycle();
view.recycle();
db.recycle();
ss.recycle();
System.out.println("当前时间5:" + sf.format(new Date()));
} catch (NotesException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}