Return-Path: Delivered-To: apmail-incubator-open-jpa-dev-archive@locus.apache.org Received: (qmail 20104 invoked from network); 23 Mar 2007 12:58:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Mar 2007 12:58:18 -0000 Received: (qmail 1616 invoked by uid 500); 23 Mar 2007 12:58:25 -0000 Delivered-To: apmail-incubator-open-jpa-dev-archive@incubator.apache.org Received: (qmail 1579 invoked by uid 500); 23 Mar 2007 12:58:25 -0000 Mailing-List: contact open-jpa-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: open-jpa-dev@incubator.apache.org Delivered-To: mailing list open-jpa-dev@incubator.apache.org Received: (qmail 1570 invoked by uid 99); 23 Mar 2007 12:58:25 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Mar 2007 05:58:25 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of hans.prueller@gmx.net designates 213.165.64.20 as permitted sender) Received: from [213.165.64.20] (HELO mail.gmx.net) (213.165.64.20) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 23 Mar 2007 05:58:16 -0700 Received: (qmail invoked by alias); 23 Mar 2007 12:57:54 -0000 Received: from cm56-213-37.liwest.at (EHLO [192.168.0.7]) [86.56.213.37] by mail.gmx.net (mp001) with SMTP; 23 Mar 2007 13:57:54 +0100 X-Authenticated: #299902 X-Provags-ID: V01U2FsdGVkX18h6PoQWZoh8IHdiKt7PkNd4bdDfPXoR3yrSxr6Q/ mp6uxQVmeo6RLZ Subject: RE: Forgot subject: Strange Could not locate metadata for the classError? From: "Hans J. Prueller" To: open-jpa-dev@incubator.apache.org In-Reply-To: <7D856CDFE035FF45A0420ACBD71BDD6303A14607@repbex02.amer.bea.com> References: <1174652316.5041.12.camel@burns> <7D856CDFE035FF45A0420ACBD71BDD6303A14607@repbex02.amer.bea.com> Content-Type: multipart/alternative; boundary="=-cc22YB0MiBbpDD7nymJ3" Date: Fri, 23 Mar 2007 13:57:54 +0100 Message-Id: <1174654674.5041.19.camel@burns> Mime-Version: 1.0 X-Mailer: Evolution 2.8.1 X-Y-GMX-Trusted: 0 X-Virus-Checked: Checked by ClamAV on apache.org --=-cc22YB0MiBbpDD7nymJ3 Content-Type: text/plain Content-Transfer-Encoding: 7bit full stack trace (up until application specific stuff) is: 2007-03-22 21:34:53,287 : SEVERE : WorkThread-2/34 : Logger.log : system exception in business method: <4|true|0.9.7-incubating-SNAPSHOT> org.apache.openjpa.persistence.ArgumentException: Could not locate metadata for the class using alias "PositionLog". Registered alias mappings: "{PositionLog=[class com.lbslogics.ims.model.PositionLog]}" at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:345) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:164) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:142) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:211) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:181) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(JPQLExpressionBuilder.java:174) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access $500(JPQLExpressionBuilder.java:61) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder $ParsedJPQL.populate(JPQLExpressionBuilder.java:1668) at org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:52) at org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(ExpressionStoreQuery.java:145) at org.apache.openjpa.datacache.QueryCacheStoreQuery.populateFromCompilation(QueryCacheStoreQuery.java:237) at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:644) at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:625) at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:591) at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:653) at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:560) at org.apache.openjpa.persistence.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:785) at org.apache.openjpa.persistence.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:62) at com.lbslogics.ims.model.PositionLog.findById(PositionLog.java:175) at com.lbslogics.ims.persistence.ejb.EventBean.getPositionLog(EventBean.java:2875) [ ... some more ] The corresponding EventBean is a SLSB (EJB2.1) and the method looks like that: /** * * @return */ public PositionLog getPositionLog(final EntityManager em) { final PositionLog log = PositionLog.findById(em, getPositionLogId()); return log; } and the Positionlog.findById is a static method which encapsulates some of the "technical work": public static PositionLog findById(EntityManager em, Long plId) { Query q = em.createNamedQuery("PositionLog.byId"); q.setParameter("id", plId); try { return (PositionLog) q.getSingleResult(); } catch (javax.persistence.NoResultException e) { logger.finest("findById: did not find result for id=" + plId); return null; } } This method or better the top-level entry point of this method is called several hundred times for different records, all invoked by a MDB. Could it be some concurrency issue because after several hundred invocations only a single exception occured? Hans Am Freitag, den 23.03.2007, 05:48 -0700 schrieb Patrick Linskey: > Could you post the full stack trace, and maybe some code showing how > you're invoking the JPA APIs? > > -Patrick > --=-cc22YB0MiBbpDD7nymJ3--