Solución de problemas de DataNucleus JDO
-
06-07-2019 - |
Pregunta
Estoy usando el complemento Eclipse para Google App Engine 1.2.6 y Web Toolkit 1.7.1 DataNucleus / JDO me está volviendo loco! Sospecho que mis creaciones están produciendo un error silencioso antes de ser escritas Y / O las lecturas están llenando los objetos de manera inconsistente.
Podría usar algunos consejos para descubrir lo que realmente está sucediendo.
- Utilizando un proyecto GAE mínimamente no modificado, ¿dónde está el registro escrito por el dn enhancer?
- ¿Hay un registro escrito por el código del almacén de datos?
-
¿Hay alguna forma de inspeccionar el contenido del archivo local_db.bin?
-
Utilizando la sintaxis básica de transacciones JDO a continuación, ¿cómo entiendo el error / excepción sin alterar el mecanismo de entrega de errores incorporado?
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);
Solución
Entonces, ¿desea depurar esto y establecer niveles de registro en INFO? Sugeriría que DEBUG tendría mucho más sentido. Los documentos GAE / J tienen alguna página sobre registro; no recuerdo la URL, lo siento; busca en su grupo de Google porque hay varias publicaciones al respecto. ¿Cómo se invoca el potenciador no está definido? ¿Usa el complemento Eclipse de Google? o manualmente? o Maven2? o hormiga? Los documentos de DN definen dónde está el registro ... para todas las opciones excepto el complemento de Google (ya que es suyo y no lo admitimos).
Obviamente hay un visor local_db: busca en su grupo de Google
--Andy (DataNucleus)