[Design of JBoss ESB] - Re: StartProcessInstanceCommand: Return token id/process ins
by apestel
Would seem that the BpmProcessor action itself shows the need for returning a token/process id. It seems the other BpmProcessor commands (SignalCommand, CancelProcessInstanceCommand, and setProcessInstanceVariables) need to specify a token ID or process instance ID (http://www.redhat.com/docs/en-US/JBoss_SOA_Platform/4.3.GA/html-single/Pr...).
If someone uses the ESB to kick off a process instance and they also want to use the ESB to be able to cancel that same process. If the ESB client that kicks off the process doesn't get the process ID returned, it will be difficult for that client to cancel the process that he just created. The non-create/start commands on BpmProcessor seem pretty useless if the create/start commands can't return a process instance id or token id.
In addition to this is the even more common case I run into where the customer (NAVTEQ most recently) want to use BPM for service orchestration. So, client invokes a service on the ESB and that ESB service needs to synchronously kick off the orchestration of other services, aggregate a result, and return it to the original client.
I've been telling folks to just not even use BpmProcessor and to implement their own custom action instead that invokes/controls the BPM process. I see many more real life use cases for a synchronous BpmProcessor than an asynchronous BpmProcessor.
If this action were updated to support synchronous use, it would be nice to generically support "bpmToEsbVars" in addition to "esbToBpmVars" to be consistent with the way things are done when jBPM invokes an ESB service.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4197664#4197664
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4197664
17 years
[Design of Messaging on JBoss (Messaging/JBoss)] - Re: JBMESSAGING-1460 - ScheduledDeliveryTest on JBM 1.4
by gaohoward
Hi Clebert, there is a test failure on my local machine:
org.jboss.test.messaging.jms.ConnectionConsumerTest.testStopWhileProcessing()
the code is here:
public void testStopWhileProcessing() throws Exception
{
if (ServerManagement.isRemote()) return;
Connection connConsumer = null;
try
{
// some test, not pasted here.
ServerManagement.stop();
connConsumer.close();
connConsumer = null;
}
finally
{
if (connConsumer != null) connConsumer.close();
}
}
The failure message is:
Server 0 has not been started!
java.lang.Exception: Server 0 has not been started!
at org.jboss.test.messaging.tools.ServerManagement.insureStarted(ServerManagement.java:1262)
at org.jboss.test.messaging.tools.ServerManagement.getAttribute(ServerManagement.java:633)
at org.jboss.test.messaging.tools.ServerManagement.getAttribute(ServerManagement.java:628)
at org.jboss.test.messaging.MessagingTestCase.checkEmpty(MessagingTestCase.java:137)
at org.jboss.test.messaging.jms.JMSTestCase.checkNotEmpty(JMSTestCase.java:101)
at org.jboss.test.messaging.jms.JMSTestCase.tearDown(JMSTestCase.java:131)
You can see in the test the
ServerManagement.stop(); //stops server 0
is called in the end. But in tearDown() it checks to ensure the server is in started state. Which will fail. Any idea?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4197566#4197566
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4197566
17 years