背景:超過5實體組
我最近更新到JDO 2.0/DataNucleus將3.1.1中GAE SDK 1.7.3。我有第二級緩存去memcache,我發現當我對子實體進行某些操作時,我看到緩存中的陳舊數據。例如,當我從一個集合中刪除一些孩子時,過了一會兒又添加了新的孩子,然後它更新數據存儲,但不更新緩存,所以後面的讀取將發回過時的數據。
無論如何,這是另外一個問題 - 我的解決方法一直把更新的交易,從而使緩存條目被無效和刪除(交易不會更改寫入內存緩存)。
This Works。然而,我有很多無主的關係,所以有時我會更新5個以上的實體組 - 例如,我做了一個批量標記操作,將整行負載標記爲「完成」。奇怪的是IT WORKS,儘管它在Google文檔中明確表示XG交易僅限於5個實體組。我在這裏錯過了什麼嗎?
我還要提到的是我還沒有明確地啓用XG交易的JDO - 再次,它只是似乎工作。日誌表明它實際上正在進行交易。
我只是有點困惑。這可能會在未來停止工作嗎? JDO是否以某種方式管理交易的規模? XG交易是由最新的JDO自動管理的,還是默認開啓?
GAE插件沒有「自動管理」XG事務;這是你要控制的。 http://code.google.com/p/datanucleus-appengine/source/browse/#svn%2Ftrunk%2Fsrc%2Fcom%2Fgoogle%2Fappengine%2Fdatanucleus – DataNucleus
上的所有公開內容感謝@DataNucleus。然後我很困惑這是如何工作的。 – Martin