Hey Hadrian,
I started investigating the camel-bam code and one from statements I wrote is 
not true. The Process name can be set by calling the ProcessBuilder 
constructor. The Process-N name is a default behaviour.

Also, if it makes a sense to support delaying the activity? Eg making an 
activity suspended? I don't see use of it in my case so far, but that's might 
be required by other processes.

Łukasz Dywicki
--
Code-House
http://code-house.org


Wiadomość napisana przez Hadrian Zbarcea w dniu 2012-01-11, o godz. 03:29:

> Lukasz, do you mind opening a jira with your findings?
> Thanks, Hadrian
> 
> On 01/10/2012 06:36 PM, Łukasz Dywicki wrote:
>> Hey everyone,
>> I tried yo use camel-bam and it works for very basic example shown in 
>> documentation. It works well for correlating the files without any middle 
>> processing steps.
>> 
>> The process I try to monitor looks following
>> 
>> - receive incoming JMS message - split - multicast (queue1, queue2)
>> 
>> So I've build a following configuration for the process:
>> ValueBuilder correlation = header("JMSCorrelationID");
>> ActivityBuilder incoming = 
>> activity("activemq:incoming").correlate(correlation).name("incoming");
>> 
>> ActivityBuilder sys1 = 
>> activity("amq2:queue1").correlate(correlation).name("system1");
>> ActivityBuilder sys2 = 
>> activity("amq2:queue2").correlate(correlation).name("system2");
>> 
>> sys1.starts().after(incoming.starts());
>> sys2.starts().after(incoming.starts());
>> 
>> But after receiving messages and initializing a process instance nothing 
>> happens. Er it happens, the activity is created. I can not reuse a 
>> incoming.getEndpoint to create an from statement and process message. 
>> Multiple consumers on same destination are not allowed.
>> 
>> Issues I've discovered:
>> - Lack of support for parallel activities.
>> - No support for processing received message. Usually a incoming message is 
>> only a entry point for a process.
>> - No support for a custom process names. Not everyone are happy with 
>> Proces-N name. A ProcessBuilder extensions can't change a naming schema.
>> - Activity definition is not put into the database as long as it is not 
>> called by flow. Process is created and the activities are known, but they're 
>> not persisted before processing. So whole definitions are useless if we 
>> would like display process definitions somewhere else.
>> - Hard coded dependency to JPA, can't be replaced by alternative way of 
>> storing process definitions eg like in IdempotentRepository.
>> 
>> These issues makes a camel-bam useless in my case. Should I use an 
>> alternative tool like activiti-camel integration? It's fine but I don't need 
>> whole BPMN, diagraming. I want to track a flow between systems in an easy 
>> way, there is no human tasks, only service calls and camel logic.
>> 
>> Łukasz Dywicki
>> --
>> Code-House
>> Krasiczyńska 3/80
>> 03-379 Warszawa
>> 
>> 
>> 
> 
> -- 
> Hadrian Zbarcea
> Principal Software Architect
> Talend, Inc
> http://coders.talend.com/
> http://camelbot.blogspot.com/

Reply via email to