java - Lotus Domino Java API session 创建和取消

标签 java api lotus-domino lotus

我正在使用适用于 iNotes 8.5 的 Lotus Domino Java API。我能够创建 session 并添加房间、 session 请求的资源,并从我的 Java 程序发送给所有与会者。但我在取消 session 时遇到了问题:

当我取消 session 时,日历条目将从日历中删除,但房间和资源正在释放。

这是我正在尝试执行的取消操作: 选项1: 1. 从数据库中获取UNID的notes文档 2.删除文档

选项2: 1.从数据库中获取带有UNID的notes文档 2.从文档中删除房间和资源 3.保存文档 4.删除文档

使用上述两个选项后,我仍然看到资源没有被释放。有人可以帮我提供解决此问题的解决方案或想法吗?

由于我无法以编程方式释放房间和资源,因此每次取消 session 时手动释放房间都会产生开销。

我正在使用的代码:

public boolean removeResources(Document d) throws Exception 
{ 
     if(null!= d.getItemValue("Room")) 
         d.removeItem("Room");
     if(null!= d.getItemValue("RequiredResources")) 
         d.removeItem("RequiredResources");
     return d.save(true); 
}

最佳答案

我不是 Domino 中 C&E 系统的专家,但如果您需要使用您正在编写的方法从文档中删除字段,请尝试以下操作:

public boolean removeResources(Document d) throws NotesException 
{ 
    boolean bUpdated = false;
    if(d.hasItem("Room")) {
        d.removeItem("Room");
        bUpdated=true;
    }

    if(d.hasItem("RequiredResources")) {
        d.removeItem("RequiredResources");
        bUpdated=true;
    }

    if (bUpdated) {
        // something changed, so commit to document (d)
        if (d.save(true)) {
            return true;
        } else {
            return false;
        } 
    }else {
        // no changes therefore no resources were in the document, so return true anyway
        return true;
    }
}

关于java - Lotus Domino Java API session 创建和取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20060928/

相关文章:

java - 即使我添加自定义的反序列化器,Jackson 也无法将枚举反序列化为对象

javascript - 如何将谷歌地图以经纬度位置为中心?

json - 与颜色相关的 flutter 图像

c# - 将 C# 对象转换为 Json 对象

lotus-domino - 以编程方式加密 Notes 数据库

java - 如何通过将字符串作为对 Java 中数组的引用传递来返回数组?

java - 复合主键,仅按其中之一进行搜索

Java将字符串转换为枚举列表

Xpages 错误 403

lotus-domino - Lotus Domino : After changing TYPE of a field, 全文搜索不适用于该字段