Google App Engine 1.2.6 및 Web Toolkit 1.7.1 용 Eclipse 플러그인을 사용 중입니다. DataNucleus/JDO가 나를 미치게 만듭니다! 필자의 작성 내용이 쓰여지기 전에 자동으로 오류가 발생하고 읽기가 불일치하게 개체를 채우고있는 것으로 의심됩니다.DataNucleus JDO 문제 해결
실제로 일어나는 일을 파악할 때 몇 가지 팁을 사용할 수 있습니다.
- 최소 수정되지 않은 GAE 프로젝트를 사용하면 DN 인핸서가 기록한 로그는 어디에 있습니까?
- 데이터 저장소 코드가 기록한 로그가 있습니까?
어쨌든 내용 local_db.bin 파일을 검사 할 수 있습니까?
아래의 기본 JDO 트랜잭션 구문을 사용하면 기본 제공되는 오류 처리 메커니즘을 방해하지 않고 오류/예외를 어떻게 이해할 수 있습니까?
TIA, 앤디
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);
DN에 대한 런타임 로깅이 logging.properties의 내용에 의해 영향을 받는다 내가 변경 한 파일을 자신의 Google 그룹
--Andy (DataNucleus를) 검색 DataNucleus.JDO.level = 정보 DataNucleus.Persistence.level = 정보 DataNucleus.Cache.level = 정보 DataNucleus.MetaData.level = 정보 DataNucleus.General.level = 정보 DataNucleus :에서가 여기 정보에 WARN INFO = .Utility.level DataNucleus.Transaction.level = INFO DataNucleus.Datastore.level = INFO DataNucleus.ClassLoading.level = INFO DataNucleus.Plugin.level = INFO DataNucleus.ValueGeneration.level = INFO DataNucleus.Enhancer .level = INFO DataNucleus.SchemaTool.level = INFO – Stevko