Xpages 确定domino服务器是否正在运行(当相应的服务器关闭时,session.getDatabase(..)花费的时间太长)
我在不同的服务器上有大约4-5个用户,需要根据日历条目找到空闲时间。直到昨天晚上,该功能还运行得很好,但是,今天我们刚刚解决了一个小问题/bug。其中一台服务器今天离线,SSJS花了大约一分钟(60秒)的时间才弄清楚 是否有这样的选项来验证服务器是否正在运行?我这样问是因为session.getDatabase在这种情况下需要很长时间才能提供任何结果 仅供参考,下面是我验证用户邮件数据库可访问性的代码。当所有服务器都打开时,它工作得非常好,但是,当任何服务器关闭时,等待时间太长Xpages 确定domino服务器是否正在运行(当相应的服务器关闭时,session.getDatabase(..)花费的时间太长),xpages,xpages-ssjs,Xpages,Xpages Ssjs,我在不同的服务器上有大约4-5个用户,需要根据日历条目找到空闲时间。直到昨天晚上,该功能还运行得很好,但是,今天我们刚刚解决了一个小问题/bug。其中一台服务器今天离线,SSJS花了大约一分钟(60秒)的时间才弄清楚 是否有这样的选项来验证服务器是否正在运行?我这样问是因为session.getDatabase在这种情况下需要很长时间才能提供任何结果 仅供参考,下面是我验证用户邮件数据库可访问性的代码。当所有服务器都打开时,它工作得非常好,但是,当任何服务器关闭时,等待时间太长 // Set u
// Set up the names
var names = new java.util.Vector();
var inaccessible_calendars = new java.util.Vector();
var infoDoc:NotesDocument= database.getDocumentByUNID(context.getUrlParameter('refId'));
var members:java.util.Vector = infoDoc.getItemValue("members");
names = infoDoc.getItemValue("members");
//var members:java.util.Vector = infoDoc.getItemValue("members");
var membersIterator = members.iterator();
var maildb ="";
while(membersIterator.hasNext()){
var val = membersIterator.next();
var nab:NotesDatabase=session.getDatabase(database.getServer(),"names.nsf")
var nview:NotesView=nab.getView("($NamesFieldLookup)")
var doc:NotesDocument=nview.getDocumentByKey(val,true)
if(doc){
var email = doc.getItemValueString("MailFile")
var emailServer = doc.getItemValueString("MailServer")
doc.recycle()
nview.recycle()
nab.recycle()
maildb=@LowerCase(emailServer)+'!!'+@LowerCase(email)+ '.nsf'
var emailServerCN = @Name("[CN]",@LowerCase(emailServer));
var emailDBName = @LowerCase(email)+ '.nsf';
emailDBName = emailDBName.replace("\\","\/");
try{
if(session.getDatabase(emailServerCN.toString(),emailDBName.toString())==null){
names.remove(val);
inaccessible_calendars.add(val);
}else{
var emailDB:NotesDatabase = session.getDatabase(emailServerCN.toString(),emailDBName.toString());
if(!(emailDB.getCurrentAccessLevel()>0)){
names.remove(val);
inaccessible_calendars.add(val);
}
}
}catch(err){
names.remove(val);
inaccessible_calendars.add(val);
}
} else {
nview.recycle()
nab.recycle()
maildb= ""
}
}
if(!inaccessible_calendars.isEmpty())
return "Following calendars are not accessible"+inaccessible_calendars.toString()+"*";
任何帮助都将不胜感激 这些数据库在集群中吗?他们会吗?如果是这样的话,那么当您打开它时,就会出现一个“OpenWithFailOver”方法,我忘记了确切的语法。但是,如果数据库不可用,它应该在群集中打开另一个。好吧,我不这么认为。只是我们的邮件文件分布在3台个人开发服务器上,并试图访问它们。您可以在端口设置中缩短超时时间。您接受多短的响应时间?服务器/网络可能运行缓慢,而不是停机。很抱歉,我只是没有注意到评论。我们预计响应时间最多为5-10秒,到目前为止,在失败之前大约需要一分钟。你能再简单介绍一下你的解决方案吗。