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