Risoluzione dei problemi DataNucleus JDO
-
06-07-2019 - |
Domanda
Sto utilizzando il plug-in Eclipse per Google App Engine 1.2.6 e Web Toolkit 1.7.1 DataNucleus / JDO mi sta facendo impazzire! Ho il sospetto che le mie creazioni si stiano silenziosamente sbagliando prima di essere scritte E / O le letture popolano gli oggetti in modo incoerente.
Potrei usare alcuni suggerimenti per capire cosa sta realmente accadendo.
- Utilizzando un progetto GAE minimamente non modificato, dov'è il registro scritto dal potenziatore dn?
- Esiste un registro scritto dal codice del datastore?
-
Esiste un modo per ispezionare il contenuto local_db.bin file?
-
Utilizzando la sintassi di transazione JDO di base riportata di seguito, come posso capire l'errore / eccezione senza disturbare il meccanismo di gestione degli errori incorporato?
TIA, Andy
private final Provider<PersistenceManager> pmp; private PersistenceManager pm; MyResult result; // results from handler, usually has object id or error message try { pm = pmp.get(); pm.currentTransaction().begin(); /* validate, fetch, create/update persistent myObject */ pm.currentTransaction().commit(); result = new MyResult( myObject.getId() ); } finally { if (pm.currentTransaction().isActive()) { logger.severe("DN fails..."); pm.currentTransaction().rollback(); result = new MyResult( "error message why failed" ); } } return (result);
Soluzione
Quindi vuoi eseguire il debug ma hai impostato i livelli di log su INFO? Suggerirei che DEBUG avrebbe molto più senso. I documenti GAE / J hanno alcune pagine sulla registrazione - non ricordo l'URL, mi spiace; cerca nel loro gruppo Google perché ci sono molti post al riguardo. Come si evoca il potenziatore non è definito? Stai utilizzando il plug-in Eclipse di Google? o manualmente? o Maven2? o formica? I documenti DN definiscono dove si trova il registro ... per tutte le opzioni tranne il plugin Googles (dato che è loro e non lo supportiamo).
Ovviamente c'è un visualizzatore local_db: cerca nel loro gruppo Google
--Andy (DataNucleus)