关于java上传domino的问题
通过diiop登录domino。我要在一个rtf域中添加一个附件。
我想将一个目录下的文件全都传上去。一个文件形成一条记录。
如果我把一个文件循环上传10000次也没有问题。但是我上传的是不同文件,则在上传中就会在某一处失去连接。重试还是在此文件处失去连接。但是把出错文件单独上传又能够成功。
public Database writeData(String myStr, String filePath, String fileName,
Database myDb) throws NotesException {
File file = new File(filePath);
if (!file.exists())
return myDb;
try {
// 创建一个文档
Document doc = myDb.createDocument();
// 项目名称\基线名称\SCMI名称\SCMI版本号\目录名\...\文件名
myStr += ("\\" + filePath.substring(filePath
.indexOf("temp\\upload\\") + 12));
doc.replaceItemValue("fld1", myStr);
// 下面这句话是告诉用哪个表单来查创建文档
doc.replaceItemValue("form", "myForm1");
// 往文档中嵌入文档
RichTextItem rtItem = doc.createRichTextItem("body");
rtItem.embedObject(EmbeddedObject.EMBED_ATTACHMENT, "", filePath,
fileName);
// 保存文档
doc.save();
} catch (Exception e) {
System.out.println("writeData异常");
}
System.out.println("保存完成");
return myDb;
}
通过debug发现异常是从doc.save()中抛出来的ReaderThread不可用了。这时domino自动关闭了。
异常
org.omg.CORBA.COMM_FAILURE: java.io.IOException: Connection closed: Host: 10.17.12.158 Port: 63148 vmcid: 0x0 minor code: 1 completed: Maybe
at lotus.priv.CORBA.iiop.IIOPConnection.purge_calls(Unknown Source)
at lotus.priv.CORBA.iiop.ReaderThread.run(Unknown Source)
org.omg.CORBA.COMM_FAILURE: java.net.ConnectException: Connection refused: connect Host: 10.17.12.158 Port: 63148 vmcid: 0x0 minor code: 1 completed: No
at lotus.priv.CORBA.iiop.ConnectionTable.get(Unknown Source)
at lotus.priv.CORBA.iiop.ConnectionTable.get(Unknown Source)
at lotus.priv.CORBA.iiop.Generic.locate(Unknown Source)
at lotus.priv.CORBA.iiop.RepImpl.invokePreamble(Unknown Source)
at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
at lotus.domino.corba._IDocumentStub.recycle(Unknown Source)
at lotus.domino.cso.Base.recycle(Unknown Source)
at mytest.Test.testUpload(Test.java:85)
at mytest.T.main(T.java:59)
还请各位大侠不要吝惜,帮忙解决。