Использование DataNucleus У меня проблема, связанная с вторым оператором INFO ниже (2-я запись снизу).
При попытке прочитать или отредактировать объект после сохранения его с помощью makePersistent()
, Я получаю только нулевые значения, журнал INFO указывает, что объект больше не управляется диспетчером постоянства (хотя я выполняю эти изменения сразу после вызова makePersistent()
).
Я предполагаю, что соединение с моим хранилищем данных (NeoDatis в локальном встроенном / файловом режиме) закрыто , таким образом, диспетчер постоянства прекращает управлять им.Но я просто использую класс DataNucleus org.datanucleus.jdo.JDOPersistenceManagerFactory
для создания соединения.
Есть идеи, почему это может произойти?Я на правильном пути, думая, что сообщения о закрытом соединении являются проблемой?
Сокращено полное доменное имя, а для краткости удалены посторонние журналы:
DEBUG DataNucleus.Persistence - Making object persistent : "a.b.c.User@22a866a9"
INFO DataNucleus.Persistence - Managing Persistence of Class : a.b.c.User [Table : (none), InheritanceStrategy : new-table]
DEBUG DataNucleus.Connection - Connection added to the pool : [o.dn.s.neodatis.ConnectionFactoryImpl$ManagedConnectionImpl@28f337b, null] for key=o.dn.ExecutionContextImpl@59c12050 in factory=ConnectionFactory:tx[o.dn.s.neodatis.ConnectionFactoryImpl@3b626c6d]
DEBUG DataNucleus.Datastore - Opening NeoDatis ODB for "neodatis:file:database/neodatis_primary_datastore.odb" : org.neodatis.odb.impl.main.LocalODB@13a183d2
DEBUG DataNucleus.Datastore.Persist - Object "a.b.c.User@22a866a9" being inserted into NeoDatis with all reachable objects
DEBUG DataNucleus.Datastore.Persist - Object "a.b.c.User@22a866a9" (id="15) persisted to NeoDatis
DEBUG DataNucleus.Datastore - Committing NeoDatis ODB for "neodatis:file:database/neodatis_primary_datastore.odb" : org.neodatis.odb.impl.main.LocalODB@13a183d2
DEBUG DataNucleus.Connection - Connection removed from the pool : [o.dn.s.neodatis.ConnectionFactoryImpl$ManagedConnectionImpl@28f337b, null] for key=o.dn.ExecutionContextImpl@59c12050 in factory=ConnectionFactory:tx[o.dn.s.neodatis.ConnectionFactoryImpl@3b626c6d]
DEBUG DataNucleus.Connection - The connection has been closed : [o.dn.s.neodatis.ConnectionFactoryImpl$ManagedConnectionImpl@28f337b, null]
DEBUG DataNucleus.Reachability - Performing check of objects for "persistence-by-reachability" (commit) ...
DEBUG DataNucleus.Cache - Object "a.b.c.User@22a866a9" (id="15") added to Level 2 cache (loadedFlags="[YYYYYYY]", relationFields="null")
DEBUG DataNucleus.Transaction - Committing [DataNucleus Transaction, ID=Xid=, enlisted resources=[]]
DEBUG DataNucleus.Lifecycle - Object "a.b.c.User@22a866a9" (id="15") has a lifecycle change : "P_NEW"->"HOLLOW"
DEBUG DataNucleus.Transaction - Object "a.b.c.User@22a866a9" (id="15") being evicted from transactional cache
DEBUG DataNucleus.Transaction - Transaction committed in 7 ms
DEBUG DataNucleus.Lifecycle - Object "a.b.c.User@22a866a9" (id="15") has a lifecycle change : "HOLLOW"->"P_NONTRANS"
DEBUG DataNucleus.Persistence - Fetching object "a.b.c.User@22a866a9" (id=15) fields [authorities,createdFromIP,dateCreated,password,timeZoneID,username]
DEBUG DataNucleus.Datastore.Retrieve - Object "a.b.c.User@22a866a9" (id="15") being retrieved from NeoDatis
DEBUG DataNucleus.Connection - Connection added to the pool : [o.dn.s.neodatis.ConnectionFactoryImpl$ManagedConnectionImpl@39673d71, null] for key=o.dn.ExecutionContextImpl@59c12050 in factory=ConnectionFactory:tx[o.dn.s.neodatis.ConnectionFactoryImpl@3b626c6d]
DEBUG DataNucleus.Datastore - Opening NeoDatis ODB for "neodatis:file:database/neodatis_primary_datastore.odb" : org.neodatis.odb.impl.main.LocalODB@621f6c18
DEBUG DataNucleus.Datastore - Committing NeoDatis ODB for "neodatis:file:database/neodatis_primary_datastore.odb" : org.neodatis.odb.impl.main.LocalODB@621f6c18
DEBUG DataNucleus.Connection - Connection removed from the pool : [o.dn.s.neodatis.ConnectionFactoryImpl$ManagedConnectionImpl@39673d71, null] for key=o.dn.ExecutionContextImpl@59c12050 in factory=ConnectionFactory:tx[o.dn.s.neodatis.ConnectionFactoryImpl@3b626c6d]
DEBUG DataNucleus.Connection - The connection has been closed : [o.dn.s.neodatis.ConnectionFactoryImpl$ManagedConnectionImpl@39673d71, null]
INFO DataNucleus.Persistence - Request to populate fields of a.b.c.User@22a866a9 but this object is no longer managed by NeoDatis so replacing with a.b.c.User@7cf1cdfb
DEBUG DataNucleus.Datastore.Retrieve - Execution Time = 5 ms