![](/img/trans.png)
[英]NoClassDefFoundError for ObjectifyService when using Objectify with GAE
[英]Using Objectify to concurrently write data on GAE
例如,假設我有以下對象化模型:
@Cache
@Entity
public class CompanyViews implements Serializable, Persistence {
@Id
private Long id;
private Date created;
private Date modified;
private Long companyId;
........
private Integer counter;
........
@Override
public void persist() {
persist(false);
}
@Override
public void persist(Boolean async) {
ObjectifyService.register(Feedback.class);
// setup some variables
setUuid(UUID.randomUUID().toString().toUpperCase());
setModified(new Date());
if (getCreated() == null) {
setCreated(new Date());
}
// do the persist
if (async) {
ofy().save().entity(this);
} else {
ofy().save().entity(this).now();
}
}
}
我想使用計數器字段來跟蹤視圖的數量,或者打開數量,或者基本上使用整數字段來計數某些內容。
現在發生的是,對於一個GAE實例,將調用以下內容:
A:
CompanyViews views = CompanyViews.findByCompanyId(...);
views.setCounter(views.getCounter() + 1);
views.persist();
對於另一個實例:
B:
CompanyViews views = CompanyViews.findByCompanyId(...);
views.setCounter(views.getCounter() + 1);
views.persist();
如果它們都同時讀取計數器或在另一個實例將其持久化之前讀取計數器,則它們將相互覆蓋。
在MySQL / Postgres中,您獲得行級鎖定,如何對GAE上的Objectify實體進行“行級鎖定”?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.