openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Senthil Kumar Sekar <senthilkum...@virtusapolaris.com>
Subject Open JPA Entity Loading issue due to failure in Enhancing at run time.
Date Thu, 12 May 2016 03:09:03 GMT


Hello Team,
               We have been using 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.

Very Frequently that we are facing the below issue and had to restart the container multiple
to get the issue resolved.

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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message