Support Article
Exception while executing Queue instruction through JMS service
SA-3700
Summary
Exception is observed while executing Queue instruction through JMS listener service in Pega V7.1.6.
From the logs, "Rule Not Found" exception is due to child requestor invokes Queue activity using PegaRULES application instead of current application.
Error Messages
2014-11-05 02:27:48,913 [ JMS-Thread-56] [ STANDARD] [ JWS:01.01.01] (Case.PegaSample.Action) INFO .ESB_Sawgrass_CreateReferral|JMS|CreateReferral1|PegaSample|CreateReferralService1|A5A5B320B0A44DE3B44223099A1F4A183 - Inside SendAWSNote
2014-11-05 02:27:48,938 [ PegaRULES-Batch-3] [ STANDARD] [ PegaRULES:07.10] (l.vtable.VirtualRulesTableImpl) INFO -
The 3 rules named 'DROPAWSNOTE' defined in the rulebase are:
3 related to applies-to class 'PegaSample', but were defined in rulesets which are not in your rulesetlist: {GCS:01-02-46, GCS:01-02-47, GCS:01-02-99}.
Current RulesetList:
Pega-ProcessCommander:07-10,
Pega-LP-ProcessAndRules:07-10,
.
.
.
2014-11-05 02:27:48,938 [ PegaRULES-Batch-3] [ STANDARD] [ PegaRULES:07.10] (l.vtable.VirtualRulesTableImpl) INFO - RULE-OBJ-ACTIVITY PegaSample DROPAWSNOTE #20130612T071744.014 GMT |Yes |CitiJWS:01-02-46 |Rule-Obj-Activity |PegaSample |com.pegarules.generated.EMPTY_IMPL_NAME
2014-11-05 02:27:48,955 [ PegaRULES-Batch-3] [ STANDARD] [ PegaRULES:07.10] (ernal.async.BatchRequestorTask) ERROR - Batch activity "PegaSample.DropAwsNote" threw:
com.pega.pegarules.pub.PRRuntimeError: PRRuntimeError
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:706)
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivities(ThreadRunner.java:567)
Steps to Reproduce
1) Create JMS service.
2) In the main activty, use queue instruction to execute the activity asynchronously
3) Post a request to that JMS listener request queue
Root Cause
When ever we use Queue to call an another activity it will create a seperator requestor(child requestor). If call is coming from external service child requestor is not able to find out the access group of the application.
Resolution
Suggested the following local change to overcome the issue.
1. Identify the system name.(You can find it in Clipborad pxProcess.pxSystemName or DesignerStudio -> System -> Settings- > System name)
2. Go to Data-Admin-Requestor and click on instances to get the requestor.
3. Identify the batch requestor's correspond to system name.
4. Add the current access group to the identified batch requestor and run the scenario.
Published January 31, 2016 - 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.