我的問題是: 我想在GAE數據存儲中保留一個實體,如果它尚未保留。java在GAE環境中與多個JVM實例同步
我的代碼的算法是:
select * from Employee where code=1234;
if record not found then:
persist it;
otherwise
do nothing;
這是很容易做到的,但它是在多線程環境是複雜的。當兩個線程同時嘗試執行上述查詢時,會發生此問題。都得到null
所以這兩個線程都是持久實體。因此,而不是隻有一個,兩個記錄正在創建數據庫 在這裏我已經同步完整的方法,但由於GAE env中的多個jvm實例,它不起作用。
請建議我適當的解決方案。 我正在使用的我的技術堆棧:
Java,Spring,REST,GAE數據存儲。
您使用[tag:google-cloud-datastore]還是[tag:google-cloud-sql]是因爲您顯示了psuedo SQL並且[tag:google-cloud-datastore]不支持該功能。目前還不清楚你在問什麼,因爲你用無關標籤發送了垃圾郵件。請澄清。 –
我正在使用google-cloud-datastore,Psuedo Sql只是爲了解釋我的需求。 –