首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >读取多个条目模板

读取多个条目模板
EN

Stack Overflow用户
提问于 2013-12-02 09:15:46
回答 1查看 132关注 0票数 0

我正在使用Apache River javaspace项目,我正在设法编写一个模板,该模板可以读取空间中的多个条目,并返回那些我还没有存储在某个地方的条目,例如:

用户向空格"entry1“、"entry2”、"entry3“写入三个条目。稍后,同一个用户尝试从空间中读取条目,每次空间返回"entry1“,因为它不会从空间中删除,它将始终与给定的模板匹配。

写信到太空:

代码语言:javascript
运行
复制
SpaceEntry string = new SpaceEntry("User","entry1"); 
                    space.write(string, null, Lease.FOREVER);

从太空阅读:

代码语言:javascript
运行
复制
SpaceEntry template = new SpaceEntry(); 
                    SpaceEntry read = (SpaceEntry)space.readIfExists(template,null,Long.MAX_VALUE);

$read存储在一个列表中,并且读取过程重复。

模板:

代码语言:javascript
运行
复制
public SpaceEntry (String o, String m){
    this.Owner = o;
    this.Message = m;
}

最后,对于使用已经获取的值列表动态修改模板有什么建议,以便条目保留在空间中,但返回不同的条目?

我想把空间中的条目存储在一个列表中,然后在没有新条目的情况下返回到Space,但是这会带来各种各样的混乱、丢失的数据和松散的多用户兼容性。

Edit1:

好的,在修改了我的代码之后,我想出了一种方法。

必须更改模板以使用另一个参数ID。

代码语言:javascript
运行
复制
public SpaceEntry (int id, String o, String m){
this.ID = id;
this.Owner = o;
this.Message = m;

}

现在,每当用户想要添加一条消息时,代码必须读取空间中的现有条目,方法是将模板中的id值递增1,直到没有留下任何消息,并添加缺少的id号的新消息。可以运行相同的代码来读取空间中的所有条目并按id号返回它们。

但是,如果删除其中一个条目,代码将如何处理缺少的ID (例如,1,2,4,_,7 )?

Edit2:

似乎事务管理器是该走的路。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-02 10:57:02

经过一些额外的研究,我找到了这个问题的答案。为了读取多个条目,您必须实现一个事务管理器,它基本上将与模板匹配的所有条目读入事务、排序列表,并且管理器只添加尚未在事务中的条目。事务提交后,空间条目保持不变,但是您有一个完整的列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20324608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档