[MNT-20590] Throwing signal event programmatically does not get caught Created: 26-Apr-19  Updated: 10-Mar-20

Status: Open
Project: Service Packs and Hot Fixes
Component/s: APS Engine, APS Kickstart/Studio
Affects Version/s: Alfresco Process Services 1.9
Fix Version/s: Alfresco Process Services .N

Type: Service Pack Request
Reporter: Jennie Soria [X] (Inactive) Assignee: Mark Howarth
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

APS 1.9.0.5


Attachments: Zip Archive SignalEventTest.zip     PNG File SignalEventTestNotated.png    
Issue Links:
Related
relates to MNT-18181 Activiti: Event sub process not trigg... Open
Bug Priority:
Category 2
ACT Numbers:

00988442


 Description   

Summary

There is 'Intermediate Signal Throwing Event' which allows you to throw a signal that can be used to start a subprocess or process that is listening for that signal. This we know fails (MNT-18181) for event subprocesses. The alternative approach to that would be to make the subprocess not a subprocess since the signal is set to 'global' it will start the process (if available, published).

The issue though is that there are numerous reasons that you would want to throw the signal via listeners or script task if planning to reuse that same process. This should work with a 'global' defined signal same as it does when using 'Intermediate Signal Throwing Event' in process. It does not.

Replication Steps

  • import attached APP export
  • publish/deploy APP
  • start process "ThrowSignalEventForSomeOtherProcessInEngine"
  • monitor console logging
  • on complete user task "some user thing", should see 3 times second process run in console output

Actual Behavior

  • using any of the runtimeService methods should send signal that is receivable by start signal on process

runtimeService.signalEventReceived(String signalName);
runtimeService.signalEventReceived(String signalName, String executionId);
runtimeService.signalEventReceivedAsync(String signalName);

In signaled process, just email something here
before loopign exec ids
outof loop
before listener
after listener

Expected Behavior

  • using runtimeService method throws no errors, the signal never starts the process as expected. Works fine for intermediate signal throwing event, it should also work via runtimeService call as well
In signaled process, just email something here
before loopign exec ids
In signaled process, just email something here
outof loop
before listener
In signaled process, just email something here
after listener


 Comments   
Comment by Mark Howarth [ 23-Aug-19 ]

Reassigning to Doug Gruber, new APS PM.

Comment by Mark Howarth [ 02-Dec-19 ]

Assigning to Mark Howarth as PM for APS.

Generated at Fri Jul 10 05:11:04 BST 2020 using JIRA 7.6.3#76005-sha1:8a4e38d34af948780dbf52044e7aafb13a7cae58.