在GG中自动修改对象的最佳方法是什么?
GridCache<String, Message> cache = GridGain.grid().cache("message");
Message message = cache.get(messageId);
if(message != null) {
message.setReadDate(new Date());
cache.putxAsync(messageId, message);
}
我希望用在数据节点上执行的原子操作替换它
cache.execute(messageId, new Task() {
public void execute(V value) {
value.setReadDate();
return value;
}
});
答案 0 :(得分:1)
GridGain拥有cache.transform(...)
和cache.transformAndCompute(...)
方法,它们的工作方式完全符合您的需要。
请查看文档中的Delta (a.k.a. Partial) Updates部分。