camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Łukasz Dywicki <>
Subject More complicated scenario for camel-bam
Date Tue, 10 Jan 2012 23:36:49 GMT
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");


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
Krasiczyńska 3/80
03-379 Warszawa

View raw message