Support Article
Failed to compile generated Java validateinfrastructuremq
SA-11542
Summary
Unable to connect to MQ server from Pega 7.1.7.
Error Messages
Failed to compile generated Java com.pegarules.generated.activity.ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20: ---------- 1. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 372) com.ibm.mq.MQEnvironment.properties.put(com.ibm.mq.MQC.TRANSPORT_PROPERTY,com.ibm.mq.MQC.TRANSPORT_MQSERIES_BINDINGS); ^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQEnvironment cannot be resolved ---------- 2. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 372) com.ibm.mq.MQEnvironment.properties.put(com.ibm.mq.MQC.TRANSPORT_PROPERTY,com.ibm.mq.MQC.TRANSPORT_MQSERIES_BINDINGS); ^^^^^^^^^^^^^^ com.ibm.mq.MQC cannot be resolved ---------- 3. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 372) com.ibm.mq.MQEnvironment.properties.put(com.ibm.mq.MQC.TRANSPORT_PROPERTY,com.ibm.mq.MQC.TRANSPORT_MQSERIES_BINDINGS); ^^^^^^^^^^^^^^ com.ibm.mq.MQC cannot be resolved ---------- 4. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 373) com.ibm.mq.MQEnvironment.userID = username; ^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQEnvironment cannot be resolved ---------- 5. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 374) com.ibm.mq.MQEnvironment.password = password; ^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQEnvironment cannot be resolved ---------- 6. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 378) com.ibm.mq.MQEnvironment.hostname = hostName; ^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQEnvironment cannot be resolved ---------- 7. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 379) com.ibm.mq.MQEnvironment.channel = channel; ^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQEnvironment cannot be resolved ---------- 8. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 380) com.ibm.mq.MQEnvironment.port = port; ^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQEnvironment cannot be resolved ---------- 9. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 381) com.ibm.mq.MQEnvironment.userID = username; ^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQEnvironment cannot be resolved ---------- 10. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 382) com.ibm.mq.MQEnvironment.password = password; ^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQEnvironment cannot be resolved ---------- 11. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 384) com.ibm.mq.MQQueueManager qMgr = null; ^^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQQueueManager cannot be resolved to a type ---------- 12. ERROR in com/pegarules/generated/activity/ra_action_validateinfrastructuremq_fd229190f5739539f245900954b52e20.java (at line 391) qMgr = new com.ibm.mq.MQQueueManager(""); ^^^^^^^^^^^^^^^^^^^^^^^^^ com.ibm.mq.MQQueueManager cannot be resolved to a type ---------- 12 problems (12 errors)
Steps to Reproduce
Hit Test connectivity button in Records > Integration Resources > MQ Server to observe the issue.
Root Cause
The root cause of this problem is defect/misconfiguration in the operating environment. From the above exception it is clear that IBM MQ JARs are missing from the classpath, they are missed during the Java classloading process.
Resolution
This issue is resolved by making the following change to the operating environment:
Add the missing IBM MQ JARs to the classpath. There are three different ways to add IBM MQ JARs during classloading process for Pega to utilize them:
- Import MQ JARs through Import Wizard (Designer Studio > Application > Distribution > Import). The MQ JARs are imported to pr_engineclasses table under custom codeset. Restart the JVM thereafter.
- Add the MQ JARs to classpath using -jar argument.
- Add the MQ JARs to the application server lib folder or endorsed folder from where the class loader will instantiate the classes during container initialization.
Once the JARs are added using one of the above 3 steps and JVM is restarted. Log in to SMA, navigate to Advanced > Class Loader Management and click "Refresh External Jars".
Published July 14, 2015 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.