Hi, I’m trying to do implement an interrupting catch message on a human task.
I’ve used catch messages in intermediate mode without any problem and configured the boundary catch message the same way, using a name for the message and a correlation var with a specific value (message content is empty).
Then I fired an API call to Bonita to /bonita/API/bpm/message with this payload :
{
"messageName" : "catchMessage" ,
"targetProcess": "Pool",
"messageContent" : {},
"correlations" : {
"myPrivateId" : {
"value" : "10",
"type" : "java.lang.String"
}
}
}
In the logs I’ve got a positive result as I would have with an intermediate event :
2025-01-22T08:47:45,308+0100 | Captainblood.local | INFO | [Bonita-Message-Matching|56] o.b.e.m.MessagesHandlingService - Found 1 potential message/event couples
2025-01-22T08:47:45,310+0100 | Captainblood.local | INFO | [Bonita-Message-Matching|56] o.b.e.m.MessagesHandlingService - Triggering execution of unique 1 message/event couples
2025-01-22T08:47:45,313+0100 | Captainblood.local | INFO | [Bonita-Message-Matching|56] o.b.e.m.MessagesHandlingService - Execution of message/event couples triggered
But then I’ve got those warnings
2025-01-22T08:47:45,336+0100 | Captainblood.local | WARN | [Bonita-Worker-1-1|57] o.b.e.w.RetryingWorkExecutorService - Work ExecuteMessageCoupleWork: messageInstanceId: 4001, waitingMessageId: 4001 failed. The element will be marked as failed. Exception is: java.lang.NullPointerException: Cannot invoke "org.bonitasoft.engine.core.process.definition.model.event.SCatchEventDefinition.getMessageEventTriggerDefinition(String)" because "catchEvent" is null
exception was generated here: at org.bonitasoft.engine.execution.event.MessageEventHandlerStrategy.getOperations(MessageEventHandlerStrategy.java:284)
at org.bonitasoft.engine.execution.event.EventsHandler.triggerCatchEvent(EventsHandler.java:322)
at org.bonitasoft.engine.execution.work.ExecuteMessageCoupleWork.work(ExecuteMessageCoupleWork.java:79)
2025-01-22T08:47:45,340+0100 | Captainblood.local | WARN | [Bonita-Worker-1-1|57] o.b.e.e.w.ExecuteMessageCoupleWork - Unable to execute message couple with sent message 4001 and waiting message 4001, the waiting message was reset to allow other message to trigger it. This failure might come from a design issue, cause is: Cannot invoke "org.bonitasoft.engine.core.process.definition.model.event.SCatchEventDefinition.getMessageEventTriggerDefinition(String)" because "catchEvent" is null
The Wait task was not interrupted and still stucked. As the task was not taken by a user I tried to assign it and test the API call again with no success, same messages with a slightly difference :
Unable to execute message couple with sent message 4002 and waiting message 4001, the waiting message was reset to allow other message to trigger it.
Message id was incremented and my Wait task is still stucked.
Do you have any idea what’s wrong in my implementation that could lead to this ?
Thanks !
–
Sebastien