Hi All
Here at CSCU we are upgrading to 1812 code & are now getting this new error related to additional configuration checking added back in November to KcConfigVerifier.java. The new KcConfigVerifier.verifyWeaving() seems to indicate that Unit among other classes aren’t bytecode weaved.
The method comment block for verifyWeaving claims:
"If JPA weaving is enabled then all annotated classes should implement an interface called PersistenceObject and sometimes PersistenceEntity"
But, Unit class does ultimately extend BusinessObjectBase, which does indeed implement methods for both PersistenceEntity & PersistenceObject
however something in the KcConfigVerifier.findNotWeaved is flagging it as not weaved. I haven't gone through the whole list of classes shown in the error below, but each one from that list comes from the findNotWeaved code that is a stream of all non-weaved classes in org.kuali and co.kuali packages ... at least from my reading of both the code and comment.
I don’t get this error in my local development environment, rather, only in our deployed test environments. I don’t see any configuration that specifies enabling JPA weaving. Is it some build time flag? Also, it doesn’t seem there is any conditional check to optionally run this verifyWeaving when afterPropertiesSet() is called.
Caused by: java.lang.RuntimeException: Found a class(es) which are not bytecode weaved: [class org.kuali.coeus.common.framework.unit.Unit, class org.kuali.coeus.common.budget.framework.personnel.TbnPerson, class org.kuali.coeus.propdev.impl.keyword.PropScienceKeyword, class org.kuali.coeus.common.budget.framework.period.BudgetPeriodType, class org.kuali.kra.award.home.AwardType, class org.kuali.coeus.common.framework.type.ActivityType, class org.kuali.coeus.common.budget.framework.core.category.BudgetCategoryType, class org.kuali.coeus.common.framework.org.audit.OrganizationAuditAcceptedType, class org.kuali.coeus.common.budget.framework.core.category.BudgetCategory, class org.kuali.coeus.common.framework.type.ProposalType, class org.kuali.coeus.common.budget.framework.rate.FormulatedType, class org.kuali.coeus.common.budget.framework.core.CostElement, class org.kuali.coeus.common.framework.org.OrganizationIndirectcost, class org.kuali.coeus.propdev.impl.ynq.ProposalYnq, class org.kuali.kra.bo.DocumentNextvalue, class org.kuali.coeus.common.budget.framework.core.Budget, class org.kuali.coeus.common.budget.framework.distribution.BudgetUnrecoveredFandA, class org.kuali.coeus.common.budget.framework.rate.BudgetLaRate, class org.kuali.coeus.common.budget.framework.rate.RateClassType, class org.kuali.coeus.propdev.impl.s2s.S2sProvider, class org.kuali.coeus.propdev.impl.core.DevelopmentProposal, class org.kuali.coeus.common.budget.framework.income.BudgetProjectIncome, class org.kuali.coeus.propdev.impl.person.ProposalInvestigatorCertification, class org.kuali.coeus.propdev.impl.s2s.S2sUserAttachedFormAttFile, class org.kuali.coeus.common.framework.custom.attr.CustomAttributeDataType, class org.kuali.coeus.award.finance.AwardPosts, class org.kuali.coeus.common.framework.ynq.YnqExplanation, class org.kuali.coeus.common.framework.auth.docperm.DocumentAccess, class org.kuali.coeus.propdev.impl.editable.ProposalChangedData, class org.kuali.coeus.common.framework.unit.admin.UnitAdministratorType, class org.kuali.kra.bo.CostShareType, class org.kuali.coeus.propdev.impl.location.CongressionalDistrict, class org.kuali.coeus.propdev.impl.person.attachment.ProposalPersonBiographyAttachment, class org.kuali.coeus.common.budget.framework.personnel.BudgetPersonnelRateAndBase, class org.kuali.coeus.propdev.impl.s2s.S2sRevisionType, class org.kuali.coeus.propdev.impl.state.ProposalState, class org.kuali.coeus.propdev.impl.s2s.override.S2sOverrideApplicationData, class org.kuali.coeus.propdev.impl.s2s.S2sError, class org.kuali.kra.bo.NsfCode, class org.kuali.coeus.common.api.document.DocumentWorkloadDetails, class org.kuali.coeus.propdev.impl.s2s.S2sAppAttachments, class org.kuali.coeus.propdev.impl.budget.BudgetStatus, class org.kuali.coeus.common.framework.org.type.OrganizationType, class org.kuali.coeus.propdev.impl.s2s.override.S2sOverrideAttachment, class org.kuali.coeus.common.budget.framework.rate.RateClass, class org.kuali.coeus.common.framework.compliance.exemption.ExemptionType, class org.kuali.coeus.propdev.impl.abstrct.ProposalAbstract, class org.kuali.coeus.common.framework.rolodex.Rolodex, class org.kuali.coeus.common.framework.custom.attr.CustomAttribute, class org.kuali.coeus.common.budget.framework.nonpersonnel.BudgetLineItemCalculatedAmount, class org.kuali.coeus.common.framework.ynq.Ynq, class org.kuali.coeus.common.budget.framework.nonpersonnel.BudgetFormulatedCostDetail, class org.kuali.coeus.common.framework.org.Organization, class org.kuali.coeus.propdev.impl.sponsor.ProposalCfda, class org.kuali.coeus.propdev.impl.budget.subaward.BudgetSubAwardPeriodDetail, class org.kuali.coeus.propdev.impl.person.ProposalPersonDegree, class org.kuali.coeus.common.budget.framework.rate.BudgetRate, class org.kuali.coeus.propdev.impl.attachment.ValidNarrForms, class org.kuali.coeus.propdev.impl.budget.modular.BudgetModular, class org.kuali.coeus.common.budget.framework.personnel.BudgetPersonnelCalculatedAmount, class org.kuali.coeus.common.framework.person.PropAwardPersonRole, class org.kuali.coeus.common.framework.person.attr.CitizenshipType, class org.kuali.coeus.propdev.impl.person.ProposalPersonUnit, class org.kuali.coeus.common.budget.framework.rate.ValidCeRateType, class org.kuali.coeus.propdev.impl.location.ProposalSite, class org.kuali.coeus.common.budget.framework.personnel.BudgetPersonSalaryDetails, class org.kuali.coeus.propdev.impl.s2s.S2sApplication, class org.kuali.coeus.propdev.impl.budget.subaward.BudgetSubAwards, class org.kuali.coeus.common.budget.framework.distribution.BudgetCostShare, class org.kuali.coeus.common.framework.person.attr.KcPersonExtendedAttributes, class org.kuali.coeus.propdev.impl.specialreview.ProposalSpecialReview, class org.kuali.coeus.common.budget.framework.nonpersonnel.BudgetLineItem, class org.kuali.coeus.propdev.impl.specialreview.ProposalSpecialReviewExemption, class org.kuali.coeus.propdev.impl.budget.editable.BudgetChangedData, class org.kuali.coeus.common.framework.unit.admin.UnitAdministrator, class org.kuali.kra.web.krad.homepage.HomePageMenuItem, class org.kuali.coeus.propdev.impl.person.creditsplit.ProposalUnitCreditSplit, class org.kuali.coeus.common.budget.framework.rate.RateType, class org.kuali.coeus.propdev.impl.core.ParentDevelopmentProposal, class org.kuali.coeus.propdev.impl.s2s.S2sOpportunity, class org.kuali.coeus.common.framework.compliance.core.SpecialReviewType, class org.kuali.coeus.common.framework.sponsor.SponsorType, class org.kuali.coeus.common.framework.keyword.ScienceKeyword, class org.kuali.coeus.propdev.impl.s2s.S2sAppSubmission, class org.kuali.coeus.propdev.impl.attachment.NarrativeStatus, class org.kuali.coeus.common.budget.framework.nonpersonnel.BudgetRateAndBase, class org.kuali.coeus.propdev.impl.attachment.NarrativeUserRights, class org.kuali.coeus.propdev.impl.person.ProposalPersonCertificationDetails, class org.kuali.coeus.propdev.impl.specialreview.ProposalSpecialReviewAttachment, class org.kuali.coeus.award.finance.timeAndMoney.TimeAndMoneyPosts, class org.kuali.coeus.propdev.impl.location.ProposalSite$ProposalSiteId, class org.kuali.coeus.common.budget.framework.personnel.BudgetPerson, class org.kuali.coeus.propdev.impl.budget.ProposalDevelopmentBudgetExt, class org.kuali.coeus.propdev.impl.s2s.S2sOppForms, class org.kuali.coeus.propdev.impl.person.ProposalPerson, class org.kuali.coeus.common.budget.framework.personnel.BudgetPersonnelDetails, class org.kuali.coeus.award.finance.AwardAccount, class org.kuali.coeus.propdev.impl.attachment.NarrativeType, class org.kuali.coeus.propdev.impl.person.attachment.PropPerDocType, class org.kuali.coeus.common.budget.framework.version.BudgetVersionOverview, class org.kuali.coeus.propdev.impl.s2s.override.S2sOverride, class org.kuali.coeus.propdev.impl.s2s.S2sOpportunityCfda, class org.kuali.coeus.propdev.impl.budget.subaward.BudgetSubAwardFiles, class org.kuali.coeus.propdev.impl.s2s.S2sUserAttachedFormFile, class org.kuali.coeus.propdev.impl.core.ProposalDevelopmentDocument, class org.kuali.coeus.common.framework.org.type.OrganizationTypeList, class org.kuali.coeus.propdev.impl.person.attachment.ProposalPersonBiography, class org.kuali.coeus.common.budget.framework.personnel.JobCode, class org.kuali.coeus.propdev.impl.attachment.NarrativeAttachment, class org.kuali.coeus.common.framework.org.OrganizationYnq, class org.kuali.coeus.common.framework.ynq.YnqExplanationType, class org.kuali.coeus.common.framework.noo.NoticeOfOpportunity, class org.kuali.coeus.propdev.impl.attachment.Narrative, class org.kuali.coeus.common.framework.org.audit.OrganizationAudit, class org.kuali.coeus.propdev.impl.budget.modular.BudgetModularIdc, class org.kuali.coeus.propdev.impl.s2s.S2sFormConfiguration, class org.kuali.coeus.propdev.impl.s2s.S2sSubmissionType, class org.kuali.coeus.propdev.impl.budget.subaward.BudgetSubAwardAttachment, class org.kuali.coeus.common.framework.type.InvestigatorCreditType, class org.kuali.coeus.propdev.impl.s2s.S2sOppForms$S2sOppFormsId, class org.kuali.coeus.propdev.impl.s2s.S2sUserAttachedFormAtt, class org.kuali.coeus.common.framework.custom.attr.CustomAttributeDocValue, class org.kuali.coeus.common.framework.sponsor.Sponsor, class org.kuali.coeus.common.framework.person.attr.DegreeType, class org.kuali.coeus.propdev.impl.s2s.S2sUserAttachedForm, class org.kuali.coeus.sys.impl.controller.rest.audit.RestAuditLogDataObject, class org.kuali.coeus.propdev.impl.person.creditsplit.ProposalPersonCreditSplit, class org.kuali.coeus.common.budget.framework.period.BudgetPeriod, class org.kuali.coeus.common.budget.framework.personnel.AppointmentType, class org.kuali.coeus.propdev.impl.abstrct.AbstractType, class org.kuali.coeus.common.api.document.DocumentWorkflowUserDetails, class org.kuali.coeus.propdev.impl.editable.ProposalColumnsToAlter, class org.kuali.coeus.propdev.impl.person.ProposalPersonYnq, class org.kuali.coeus.common.framework.type.DeadlineType, class org.kuali.coeus.common.framework.compliance.core.SpecialReviewApprovalType, class org.kuali.coeus.propdev.impl.budget.editable.BudgetColumnsToAlter]. This indicates a misconfiguration.
at org.kuali.coeus.sys.impl.KcConfigVerifier.verifyWeaving(KcConfigVerifier.java:119)
--
You received this message because you are subscribed to the Google Groups "KC Technical User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kc.technical.co...@kuali.org.
Hi Everyone,
So, after a bit of close checking into our deployed tomcat configuration (we are still running tomcat7) we found that we were using an older jar version for TomcatInstrumentableClassLoader that apparently didn’t support Dynamic weaving. The older configs were using spring-instrument-tomcat-3.2.13.RELEASE.jar or org.springframework.instrument.tomcat-3.0.4.RELEASE.jar (in the tomcat lib directory). After updating to spring-instrument-tomcat-4.3.10.RELEASE.jar the verifyWeaving check in KcConfigVerifier succeeded.
FWIW, I believe those on tomcat 8.5 shouldn’t experience this issue as the explicit inclusion of that jar unnecessary in 8.5.
Shout out to tscheeb for his sharp eyes.
Thanks - Chris