[
https://issues.apache.org/jira/browse/OPENJPA-2642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17821581#comment-17821581
]
Jan Würthner commented on OPENJPA-2642:
---------------------------------------
Hi Senthil! I encountered the very same issue, running the runtime enhancer in
tomee-plus 7.1.1 with open-jdk 17: In some cases suddenly one of the entities
is not available, while all others are loaded and available (same wording for
the error: "... is not a recognized entity or identifier." and the list of
entities is not empty ). Have you been able to solve this or find a workaround?
Unfortunately there is not much on the internet about this issue. Any insight
is highly appreciated!
> Entity Loading issue in open-jpa
> --------------------------------
>
> Key: OPENJPA-2642
> URL: https://issues.apache.org/jira/browse/OPENJPA-2642
> Project: OpenJPA
> Issue Type: Bug
> Reporter: Senthil Kumar Sekar
> Priority: Major
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> Hello Team,
> We have been openjpa – 2.4.0 for our application data access layer
> which will be deployed in Jboss Fuse 6.2.1.
> We have persistence xml where all the entities are declared.
> Sometimes(These days its very frequent) that we are facing the below issue.
> This really affects our build and deployment model.
> java.lang.reflect.UndeclaredThrowableException
> at com.sun.proxy.$Proxy29.createQuery(Unknown Source)
> at
> com.mysema.query.jpa.impl.AbstractJPAQuery.createQuery(AbstractJPAQuery.java:127)[744:com.mysema.querydsl.jpa:3.6.3]
> …………….
> Caused by: java.lang.reflect.UndeclaredThrowableException
> at com.sun.proxy.$Proxy103.createQuery(Unknown Source)
> ... 67 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.GeneratedMethodAccessor112.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_79]
> at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_79]
> at
> org.apache.aries.jpa.container.impl.EntityManagerProxyFactory$EMHandler.invoke(EntityManagerProxyFactory.java:31)
> ... 68 more
> Caused by: <openjpa-2.4.0-r422266:1674604 nonfatal user error>
> org.apache.openjpa.persistence.ArgumentException: An error occurred while
> parsing the query filter "select cETAssignmentException_
> from CETAssignmentException cETAssignmentException_
> where lower(cETAssignmentException_.id.officeCode) = ?1 and
> lower(cETAssignmentException_.id.businessSegmentCode) = ?2". Error message:
> The name "CETAssignmentException" is not a recognized entity or identifier.
> Perhaps you meant CDDCaseLocation, which is a close match. Known entity
> names: [IndividualReferencesAsu, RmaExcllist, WbSanctionsQuestionnaire,
> IndividualAsu, SpeDocumentsChecklist, Property, MvSciClientGrpInfo,
> CddAdditionalDetails, CopiFatcaSubownersInfo, DocumentTemplate,
> ClientBranchOffices, RoccoDecisionReportPK, CddCaseActorsPK, DdCase,
> ClientIndividualReln, EcddSciCasePublish, ForeignExchange, CaseDetail,
> CopiFatcaTaxInfo, NorkomTxn, CopiFatcaDocument, ClientGroup,
> ClientIndividual, OpaScreen, Country, MvSciClientInfo, IndividualNorkom,
> CddRisks, IndividualNorkomAsu, ClientOfficeProducts, CddCaseAuditPK,
> AtfFieldsMaster, CddDdrBasedRouting, PreScreening, CddCasePK,
> MvSciClientOrgInfo, WorkflowState, RoccoRequest, RoccoRequestAuditPK, Risks,
> MvSciClientAddrInfo, GaProductTransaction, ClientDocuments, Bba,
> ClientBranch, ClientNorkomPK, ClientISIC, MvSciArmCodeInfo, DDCCountries,
> Client, GroupNorkom, IndividualClientReln, Ga, OPARuleBases,
> CDDWorkflowState, SubReasonCodes, MoneyMarket, OpaError, DefenceGoodsStatus,
> CDDStateMachine, LegalConstitution, ReasonCodes, RoccoRequestAudit, Address,
> BranchNorkom, FiDocumentsChecklist, CopiFatcaStatusInfo, CddCase, Cdd,
> CddPepSummary, Bonds, BbaDocumentsChecklist, ClientOffice, CDDCaseLocation,
> MvSciEmpInfo, GaDocumentChecklist, TaskBasedReasonCodes, BranchAddress,
> DgStatusDecisionMatrix, CashEquities, IndividualReferences, EcddSciPublish,
> CddCaseAudit, BusinessSubSegment, OPACases, ClientIndividualRelnPK,
> IndividualReferencesAsuPK, Product, ClientNorkom, BusinessSegment,
> DocumentCategory, CoDocumentsChecklist, CddCaseAuditSubReasons,
> IndividualClientRelnAsu, TaskBasedReasonCodesPK, CustomerCountryRisk,
> PreScreeningComment, BbaRiskQuestion, IndividualDocuments, FormButton,
> Documents, BbaAdditionalDetails, ClientType, GuarantorNorkomPK,
> AnticipatedTransaction, CddPepDetail, GoodsType, CddCaseActors,
> GuarantorNorkom, CddCountryRisk, CountryOffices, CopiFatca,
> CddWorkflowReassignment, Norkom, Deferral, DocumentsUpload,
> ClientTriggerEvents, CopiFatcaStatus, Gic, BusinessSubSegmentPK,
> ParentGroupDetails, MvSciClientCoreInfo, RequestMap, CddRiskQuestions,
> DefenceGoods, OPADecisionReport, AtfRequestTxn, Individual, ReviewCases,
> MvSciArmLocation, DefenceGoodsDecision, ClientIndividualPK,
> RoccoDecisionReport, IndividualPK, CddTaskAction, PreScreeningRef,
> ClientGuarantor, Derivative]
> at
> org.apache.openjpa.kernel.exps.AbstractExpressionBuilder.parseException(AbstractExpressionBuilder.java:118)[848:org.apache.openjpa:2.4.0]
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:193)[848:org.apache.openjpa:2.4.0]
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:166)[848:org.apache.openjpa:2.4.0]
> Looks like the entity CETAssignmentException is not in the open-jpa list
> which is used in setting the values using Reflection.
> Below is the TRACE log enabled in openjpa.
> 3724779 bowbMSPersistenceUnit WARN [qtp1069331902-407] openjpa.MetaData -
> The class "com.scb.cic.wb.cdd.ds.db.model.sci.SciOffices" listed in the
> openjpa.MetaDataFactory configuration property could not be loaded by
> wb-svc-cdd [970]; ignoring.
> 3724779 bowbMSPersistenceUnit WARN [qtp1069331902-407] openjpa.MetaData -
> The class "com.scb.cic.wb.cdd.ds.db.model.sci.SciAssignment" listed in the
> openjpa.MetaDataFactory configuration property could not be loaded by
> wb-svc-cdd [970]; ignoring.
> 3724779 bowbMSPersistenceUnit WARN [qtp1069331902-407] openjpa.MetaData -
> The class "com.scb.cic.wb.cdd.ds.db.model.task.CETAssignmentExceptionPK"
> listed in the openjpa.MetaDataFactory configuration property could not be
> loaded by wb-svc-cdd [970]; ignoring.
> 3724779 bowbMSPersistenceUnit WARN [qtp1069331902-407] openjpa.MetaData -
> The class "com.scb.cic.wb.cdd.ds.db.model.task.CETAssignmentException" listed
> in the openjpa.MetaDataFactory configuration property could not be loaded by
> wb-svc-cdd [970]; ignoring.
> and debugged with the source code and found that
> private Class<?> classForName(String name, ClassLoader loader) {
> try {
> return Class.forName(name, true, loader);
> } catch (Exception e) {
> if ((_validate & VALIDATE_RUNTIME) != 0) {
> if (_log.isWarnEnabled())
> _log.warn(_loc.get("bad-discover-class", name, loader));
> } else if (_log.isInfoEnabled())
> _log.info(_loc.get("bad-discover-class", name, loader));
> if (_log.isTraceEnabled())
> _log.trace(e);
> } catch (NoSuchMethodError nsme) {
> if (nsme.getMessage().indexOf(".pc") == -1)
> throw nsme;
> // if the error is about a method that uses the PersistenceCapable
> // 'pc' method prefix, perform some logging and continue. This
> // probably just means that the class is not yet enhanced.
> if ((_validate & VALIDATE_RUNTIME) != 0) {
> if (_log.isWarnEnabled())
> _log.warn(_loc.get("bad-discover-class", name, loader));
> } else if (_log.isInfoEnabled())
> _log.info(_loc.get("bad-discover-class", name, loader));
> if (_log.isTraceEnabled())
> _log.trace(nsme);
> }
> return null;
> }
> Above entities are ignored in enhancement while the class is loaded. So,
> added below in persistence.xml
> <property name="openjpa.RuntimeUnenhancedClasses" value="supported"/> à in
> order to enhance dynamically during run time.
> Additionally we have also enabled enhancement during build time by
> <plugin>
> <groupId>org.apache.openjpa</groupId>
> <artifactId>openjpa-maven-plugin</artifactId>
> <version>${openjpa-maven-plugin.version}</version>
> <configuration>
> </configuration>
> <executions>
> <execution>
> <id>enhancer</id>
> <phase>process-classes</phase>
> <goals>
> <goal>enhance</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
> But still facing the same issue.
> This issue has become a serious issue. It would be great if the team could
> help us in resolving the issue.
> Thanks.
> Regards
> Senthil Kumar Sekar
--
This message was sent by Atlassian Jira
(v8.20.10#820010)