Java通过DIIOP访问domino的对象实例

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();
		}

	}

}
时间: 2024-11-05 20:45:06

Java通过DIIOP访问domino的对象实例的相关文章

2.24 Java基础总结 ①访问权限②static③静态方法④实例初始化块⑤静态初始化块

①访问权限②static③静态方法④实例初始化块⑤静态初始化块一.访问权限 默认是同包protected是有关系的,即同包和不同包的子类private只有本类,public全部   本类   同包 不同包       子类 非子类 子类 非子类 private √         默认(同包) √ √ √     protected √ √ √ √   public √ √ √ √ √ 二.static静态成员变量,类级别,全类共享一个Person.country = "中国":一般用

Java中的mutable和immutable对象实例讲解

1.mutable(可变)和immutable(不可变)类型的区别 可变类型的对象:提供了可以改变其内部数据值的操作,其内部的值可以被重新更改. 不可变数据类型:其内部的操作不会改变内部的值,一旦试图更改其内部值,将会构造一个新的对象而非对原来的值进行更改. 2.mutable和immutable类型的优缺点   mutable immutable 优点 可变类型会减少数据的拷贝次数,从而其效率 要高于immutable 由于内部数据不可变,所以对其频发修改会产生大量的临时拷贝,浪费空间 缺点

Java虚拟机:如何判定哪些对象可回收?

版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 在堆内存中存放着Java程序中几乎所有的对象实例,堆内存的容量是有限的,Java虚拟机会对堆内存进行管理,回收已经"死去"的对象(即不可能再被任何途径使用的对象),释放内存.垃圾收集器在对堆内存进行回收前,首先要做的第一件事就是确定这些对象中哪些还存活着,哪些已经死去.Java虚拟机是如何判断对象是否可以被回收的呢? 引用计数算法        引用计数算法的原理是这样的:给对象添加一个引用计数器,每当有一个地方引用它时,计

java 内部类如何访问外部类的对象

用this就可以做到 实例如下: package innerclass; /** * 内部类如何得到外部类的对象 *  * */ public class DotThis { public class Inner { //返回外部内的对象 public DotThis outer(){ return DotThis.this; } } public void print(){ System.out.println("Out class"); } /** * 得到内部内的对象 */ pu

Java虚拟机学习--对象实例的创建

1.实例化过程:     在语言层面克隆对象,创建对象,反序列化生成对象都是通过new关键字,虚拟机遇到一条new指令后先检查所实例化的类是否加载(加载后则类存在),是否解析,是否初始化,然后再为新生对象分配内存空间(存放在堆中),设置对象实例的对象头,,将对象体置零,然后执行<init>方法 2.内存分配:GC收集器的算法--->>(是否带有压缩整理功能)GC收集器的种类--->>java堆内存是否规整(规整是指内存是否是由完整的一整块的小块内存组成,比如已经使用过的

Java利用反射访问对象的私有成员

当我们使用反射为java对象的全部字段逐一赋值的时候,私有字段是不允许直接访问的. 在java.lang.reflect当中,有几个比较实用的API可以解决: getDeclaredFields() :获得所有访问级别的字段 setAccessible(boolean flag): 修改类成员的可访问性 下面以一个JavaBean 对象 转 DBObject 对象的方法为例: public static DBObject bean2DbObject(DBObject dbObject, PicI

Java超类对象引用访问子类对象

下面举例进行分析:  Student st=new Student();//Student为子类 Person p=st;//Person 为超类 p.sayHello();//该方法在超类和子类中都存在 分析: * 为什么子类的类型的对象实例可以覆给超类引用? 自动实现向上转型.通过该语句,编译器自动将子类实例向上移动,成为通用类型Person:  *p.sayHello()将执行子类还是父类定义的方法? 子类的.在运行时期,将根据p这个对象引用实际的类型来获取对应的方法.所以才有多态性.一个

Java 并发编程(二)对象的不变性和安全的发布对象

一.不变性 满足同步需求的另一种方法是使用不可变对象(Immutable Object).到目前为止,我们介绍了许多与原子性和可见性相关的问题,例如得到失效数据,丢失更新操作或光查到某个对象处于不一致的状态等等,都与多线程视图同时访问同一个可变的状态相关.如果对象的状态不会改变,那么这些问题与复杂性也就自然消失了. 如果某个对象在被创建后其状态就不能被修改,那么这个对象就被成为不可变对象.线程安全型是不可变对象的固有属性之一,他们的不变性条件是由构造函数创建的,只要他们的状态不改变,那么这些不变

2.JAVA编程思想——一切都是对象

一切都是对象 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51040221 尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言 正式用它设计之前,必须先将自己的思想转入一个面向对象的世界 1      用句柄操纵对象 在 Java 里,任何东西都可看作对象.可采用一种统一的语法,任何地方均可照搬不误.注意,尽管将一切都"看作"对象,但操纵的标识符实际是指向一个对象的"句柄"(