2010-02-02 3 views
1

J'utilise les dernières versions de la pile GWT GAE w/JDO. J'ai une file d'attente de tâches mettant à jour les objets persistants avec la banque de données. J'ai aussi une interface utilisateur gwt affichant les objets de sauvegarde (sans modification). Etant donné les limites de transaction (début/validation) étroitement définies. Existe-t-il un moyen pour moi de définir une transaction en lecture seule pour l'interface graphique qui n'est pas en conflit avec la tâche mettant à jour les objets?Puis-je définir une transaction en lecture seule en utilisant JDO de GAE?

Je crois qu'ils sont contradictoires et jeter ces exceptions (abrégée)

javax.jdo.JDODataStoreException: Transaction rolled back due to failure during commit 

à org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException (NucleusJDOHelper.java:402) à org.datanucleus.jdo.JDOTransaction. commit (JDOTransaction.java:132) .... NestedThrowablesStackTrace: java.sql.SQLException: Concurrent Modification à org.datanucleus.store.appengine.DatastoreTransaction.commit (DatastoreTransaction.java:70)

Répondre

0

la banque de données du moteur de l'application utilise réellement optimistic concurrency (more), pas de verrouillage. cela signifie qu'une transaction qui ne lit que ne va pas interférer ou provoquer des conflits avec d'autres écritures ou transactions qui incluent des écritures.

Questions connexes