Support Article
NoClassDefFound in AES when sending emails
SA-16636
Summary
AES encounters NoClassDefFound exceptions when attempting to send an email, such as scorecards or email notifications.
Error Messages
2015-11-03 09:56:36,108 [.PRPCWorkManager : 4] [ STANDARD] [ AES:07.10] ( SystemAgentFixer.Code_.Action) INFO - Started agent PegaAES-Data-IndicatorComp.MonitorIndicators
2015-11-03 09:56:36,452 [.PRPCWorkManager : 4] [ STANDARD] [ AES:07.10] (ernal.async.BatchRequestorTask) ERROR - Batch activity "PegaAES-Data-IndicatorComp.MonitorIndicators" threw:
java.lang.NoClassDefFoundError: com.pega.apache.http.auth.AuthSchemeFactory
at com.pega.pegarules.integration.engine.internal.PRIntegrationEngineProviderImpl.getServiceUtilsPriv(PRIntegrationEngineProviderImpl.java:208)
at com.pega.pegarules.session.internal.mgmt.Executable.getServiceUtilsPriv(Executable.java:2106)
at com.pegarules.generated.SendEmailMessage_071015_ai7uXdDX6AsHbgtRqmJ0uw.SendEmailMessage07_10_15(SendEmailMessage_071015_ai7uXdDX6AsHbgtRqmJ0uw.java:166)
at com.pegarules.generated.SendEmailMessage_071015_ai7uXdDX6AsHbgtRqmJ0uw.invoke(SendEmailMessage_071015_ai7uXdDX6AsHbgtRqmJ0uw.java:87)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.resolveAndinvokeFunctionViaReflection(LibraryRuntime.java:133)
at com.pega.pegarules.generation.internal.library.LibraryRuntime.invokeLibraryRuntime(LibraryRuntime.java:110)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeLibraryRuntime(Executable.java:8786)
at com.pega.pegarules.priv.generator.LibrarySupport.resolveAndInvokeFunctionViaReflection(LibrarySupport.java:181)
at com.pegarules.generated.pega_integrationengine_default.SendEmailMessage(pega_integrationengine_default.java:152)
at com.pegarules.generated.activity.ra_action_sendemailnotification_68866db51912c270f78c29e148aa5c65.step6_circum0(ra_action_sendemailnotification_68866db51912c270f78c29e148aa5c65.java:862)
at com.pegarules.generated.activity.ra_action_sendemailnotification_68866db51912c270f78c29e148aa5c65.perform(ra_action_sendemailnotification_68866db51912c270f78c29e148aa5c65.java:167)
Steps to Reproduce
Not Applicable
Root Cause
Pega stores extracted classes in the following temp folder:
/extractedFiles/apploader
Due to an issue in the EAR deployment, in Websphere, this folder is incorrectly created under the JVM temp directory instead of the Pega temp directory. In this case, if there are different Pega JVMs running on the same machine, another Pega JVM can overwrite the extracted classes, which causes anything that relies on those classes to produce a NoClassDefFoundError such as the one observed.
Resolution
Explicitly specify the folder for the extracted files. To do so, add the following in the JVM arguments:
-Djava.io.tmpdir=/myPega717tmpdir
Published January 31, 2016 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.