利用notes.jar的接口在J2EE中实现notes邮件发送时存在的问题!
利用notes.jar包,我在j2ee中编写了实现notes邮件发送的方法(如下),第一次调用进行邮件发送没有问题,但是再次调用时,程序在lotus.domino.NotesFactory.createSession(host, username,password)处死锁不动了,不知道原因为何,高手给分析一下。
我的运行环境:win2000, websphere6.1, notes客户端版本为6.5。
====程序如下======
//发送Notes邮件
public static String[] sendNotes(Notesqueue nq) throws NotesException, Exception{
//System.out.print("start...");
String servername0 =nq.getNotesparam().getServername();// "XXXXXXXXXX/服务器/XXXX";
String nsfpath0 =nq.getNotesparam().getNsfpath();// "mail\\FH0_Mail\\王位.nsf";
String host=null; //必须为null!!
String username=null;//必须为null!!
String password="11111111";
Vector recipientsList;
recipientsList=getRecipients(nq.getRecipients()==null?null:nq.getRecipients().split("[, \b\t]+")); //发送
Vector copyToList;
copyToList=getRecipients((nq.getCopyto()==null||nq.getCopyto().equalsIgnoreCase("null"))?null:nq.getCopyto().split("[, \b\t]+")); //抄送
Vector blindCopyToList;
blindCopyToList=getRecipients((nq.getBlindcopyto()==null||nq.getBlindcopyto().equalsIgnoreCase("null"))?null:nq.getBlindcopyto().split("[, \b\t]+")); //密送
String title=nq.getTitle(); //主题
String text =nq.getBody(); //正文
String[] accessoryLists=nq.getAccessory()==null?null:nq.getAccessory().split("[|;]+"); //附件文件名列表(全路经)
lotus.domino.Session dominoSession=null;
lotus.domino.Database db=null;
lotus.domino.Document domMail=null;
lotus.domino.NotesThread.sinitThread();
try{
//lotus.domino.Session session = lotus.domino.NotesFactory.createSession();
dominoSession = lotus.domino.NotesFactory.createSession(host, username,password);
db=dominoSession.getDatabase(servername0,nsfpath0,false);
domMail=db.createDocument();
//System.out.println("抄送");
//抄送
domMail.replaceItemValue("CopyTo",copyToList);
//System.out.println("密送");
//密送
domMail.replaceItemValue("BlindCopyTo",blindCopyToList);
//System.out.println("主题");
//主题
domMail.replaceItemValue("Subject",title);
//System.out.println("正文");
//正文
domMail.appendItemValue("Form","Memo");
//RichTextItem body=domMail.createRichTextItem("body");
lotus.domino.RichTextItem body=domMail.createRichTextItem("body");
body.appendText(text);
//System.out.println("附件");
//附件
if (accessoryLists!=null)
for(int k=0;k<accessoryLists.length;k++) {
if (accessoryLists[k].trim().length()==0)
continue;
body.embedObject(1454, "", accessoryLists[k], accessoryLists[k]);
}
//发送
domMail.replaceItemValue("SendTo",recipientsList);
domMail.send();
//保存邮件到发件箱
domMail.save(true);
lotus.domino.NotesThread.stermThread();
}
catch(Exception e )
{
log.error("sendNotes() error!"+e.getMessage());
e.printStackTrace();
throw e;
}
finally {
//lotus.domino.NotesThread.stermThread();
}
return accessoryLists;
}
[解决办法]
quietman,问题可以同时提到WebSphere问答专区。
http://www.webspherechina.net/club/index.php?gid=83
增加一个解决问题的途径。