Hi, here is introducing my JDO problem. Is it issue of datanucleus or me? Should I separate codes with txn when getting something from datastore with same PM?
Thanks. --- ・What steps will reproduce the problem? 1.get PersistenceManager as pm. 2.invoke pm.getObjectById or iterate some query result outside txn. 3.txn.begin 4.invoke pm.getObjectById 5.change entity's properties. 6.txn.commit *Same issue occured if kind of entity is different between 2 and 4 or not. ・What is the expected output? What do you see instead? expected: It starts DatastoreService's transaction. instead: It does not start DatastoreService's transaction. (DatastoreXAResource#start is not invoked.) ・What version of the product are you using? On what operating system? SDK 1.2.5 on Windows XP/eclipse 3.4 ・Please provide any additional information below. If once invoke getObjectById or something outside txn, ManagedConnection instance is reused from ManagedConnectionPool at ConnectionManagerImpl by invoking allocateConnection. If that pooled connection was made at when it is not in txn, ConnectionManagerImpl#enlistResource is not invoked so it does not start Datastore's transaction. Also it does not register transaction listener so there is no way to remove this connection except Query#execute or closing PM. --- --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---