jBPM Generating External Signal

677 views
Skip to first unread message

Richard Cutting

unread,
Feb 20, 2018, 8:47:04 AM2/20/18
to jBPM Usage
Hi,

We are currently using jBPM and trying to generate an external signal.  We've followed the instructions given in the article here http://planet.jboss.org/post/improved_signaling_in_jbpm_6_3 (and also tried the sample project from the repo) but when we try to send the signal we get an error raised:

Line: 1, Column: 1]: org.jbpm.workflow.instance.WorkflowRuntimeException: [external-project.throw-external-signal:22 - :3] -- [Error: internalExecuteWorkItem(workItem): Connection factory and destination must be set for JMS send task handler]#

It looks like we are missing some configuration but cannot find where !

We are using jBPM 7.5.0 on JBOSS.

Thanks,

Richard.

Richard Cutting

unread,
Feb 20, 2018, 8:58:29 AM2/20/18
to jBPM Usage
Some more it looks like it's not resolving the JMS queue - a bit more digging gives the exception that's causing this error:

2018-02-20 13:34:27,258 ERROR [org.jbpm.process.workitem.jms.JMSSendTaskWorkItemHandler] (default task-22) Unable to initialize JMS send work item handler due to queue/KIE.SIGNAL -- service jboss.naming.context.java.queue."KIE.SIGNAL": javax.naming.NameNotFoundException: queue/KIE.SIGNAL -- service jboss.naming.context.java.queue."KIE.SIGNAL"

Maciej Swiderski

unread,
Feb 20, 2018, 9:14:51 AM2/20/18
to Richard Cutting, jBPM Usage
depending where/how you run it you might need to enable JMS queue and message listener. For example to make use of it in KIE Server you need to modify two files in kie-server.war:

once you enable that it should work as expected. 

If you don’t run kie server it might differ on how you setup queue and message listener.

Maciej

-- 
You received this message because you are subscribed to the Google Groups "jBPM Usage" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jbpm-usage+...@googlegroups.com.
To post to this group, send email to jbpm-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jbpm-usage/ed6b0b65-f33b-498b-97c4-adbf18f1e2f1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Richard Cutting

unread,
Feb 20, 2018, 12:25:21 PM2/20/18
to jBPM Usage
Hi Maciej,

Thanks for that this piece is now working.  What we now have a problem with is sending the signal to a process within a different container (deployed to the same Kie Server).  We set a process variable 'SignalDeploymentId' using the syntax as in the example '<group id>:<artifact id>:<version>' but when the signal is generated we get the exception:

018-02-20 17:10:09,896 ERROR [org.jbpm.process.workitem.jms.JMSSignalReceiver] (Thread-14 (ActiveMQ-client-global-threads-579409477)) Unexpected exception while signaling: There is no runtime manager for deployment com.test:Test:1.0.0: java.lang.IllegalStateException: There is no runtime manager for deployment com.test:Test:1.0.0

Thanks,

Richard.

Maciej Swiderski

unread,
Feb 20, 2018, 1:23:24 PM2/20/18
to Richard Cutting, jBPM Usage
if you’re running on kie server use container id as deployment id when signaling

Maciej

Theodore Chaikalis

unread,
Feb 13, 2020, 6:53:30 AM2/13/20
to jBPM Usage
Hello all,

iam facing the same problem - Cannot make 2 processes that run on separate containers communicate.


I tried the example provided in 
and also followed the discussion in this topic but external signal simply does not work.

The 2 xml files are modified carefully and the jbpm server started with the modified kie-server.war

I have created 2 projects with one process per project:

Project 1: 
TestCatchSignal.ProcessToCatchIntermediateSignal

Untitled2.png



Project 2:
TestThrowSignal.ThrowSignalProcess

Untitled.png

There is also a process variable:

SignalDeploymentId - String



I run the throw process with value:


SignalDeploymentId =TestCatchSignal_1.0.0


 

But I get the following error:

Unexpected error occurred: Unexpected HTTP response code when requesting URI 'http://localhost:8080/kie-server/services/rest/server/containers/TestThrowSignal_1.0.0/processes/TestThrowSignal.ThrowSignalProcess/instances'! Error code: 500, message: "Unable to create response: [TestThrowSignal.ThrowSignalProcess:4 - ?:3] -- [Error: internalExecuteWorkItem(workItem): Connection factory and destination must be set for JMS send task handler] [Near : {... org.drools.core.process.instan ....}] ^ [Line: 1, Column: 1]"




I double checked that the xml files related to JMS are properly configured acording to this thread.


Thanks

Theodore
Maciej

To unsubscribe from this group and stop receiving emails from it, send an email to jbpm-...@googlegroups.com.

Theodore Chaikalis

unread,
Feb 13, 2020, 7:25:06 AM2/13/20
to jBPM Usage
Forgot to mention that i tried both

new org.jbpm.process.workitem.jms.JMSSendTaskWorkItemHandler("jms/CF", "jms/Queue")

and 

new org.jbpm.process.workitem.jms.JMSSendTaskWorkItemHandler()

Work Item Handler definitions.

Thanks

Teo

Maciej Swiderski

unread,
Feb 13, 2020, 7:31:44 AM2/13/20
to Theodore Chaikalis, jBPM Usage
Assuming you run on Kie Server that runs on WildFly then I believe this would be the config you need

new org.jbpm.process.workitem.jms.JMSSendTaskWorkItemHandler("java:/JmsXA", "queue/KIE.SERVER.SIGNAL”)

Plus all the configuration mentioned below - enabling kie-server-jms.xml and ejb-jar.xml sections related to signals.

Maciej

Theodore Chaikalis

unread,
Feb 13, 2020, 8:26:15 AM2/13/20
to Maciej Swiderski, jBPM Usage
It worked. Thank you!

------------------

Θοδωρής Χαϊκάλης
Μηχανικός Λογισμικού, Msc, Phd
Θεσσαλονίκη
Κιν: 6973981522


Reply all
Reply to author
Forward
0 new messages