Support Article
Email notifications are not sent to users post upgrade
Summary
Post upgrade, email notifications are not sent to the users.
Error Messages
<pxErrorMessage>loader constraint violation: when resolving interface method "javax.mail.Part.setDataHandler(Ljavax/activation/DataHandler;)V" the class loader (instance of com/pega/pegarules/bootstrap/loader/PRAppLoader) of the current class, com/pega/platform/integrationcore/client/email/internal/javamail/JavaMailPart, and the class loader (instance of org/jboss/modules/ModuleClassLoader) for the method's defining class, javax/mail/Part, have different Class objects for the type javax/activation/DataHandler used in the signature</pxErrorMessage>
Steps to Reproduce
- Execute any functonal or business scenario such that emails are sent to the recipients (users)
- Generate the Correspondence and link to the work object. User does not receive emails
- Open the correspondence generated for the work object. The status is 'Not Yet Sent'
Root Cause
The class loading strategy of Pega and of that of JBoss collide for the javax.activation classes that are provided both as an external library, coming from JBoss, and as part of the Java Runtime Library.
Resolution
Perform the following local-chnage:
Modify the module.xml file of javax.activation.api class to exclude JBOSS from loading this class such that it is delegated to Java Runtime Environment (JRE) always.
Open the JBOSS folder, /modules/system/layers/base/javax/activation/api/main/module.xml and add the below code:
<module xmlns="urn:jboss:module:1.3" name="javax.activation.api">
<dependencies>
<module name="javax.api" />
<module name="javax.mail.api" optional="true">
<imports><include path="META-INF"/></imports>
</module>
<module name="com.sun.xml.messaging.saaj" optional="true"/>
<module name="org.jboss.ws.native.jbossws-native-core" optional="true"/>
<module name="org.apache.cxf" optional="true"/>
<system export="true"><paths> <path name="javax/activation"/></paths></system>
</dependencies>
<!-- <resources>
<resource-root path="activation-1.1.1.redhat-5.jar"/>
</resources>-->
</module>
Published January 9, 2020 - 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.