Although I have another problem: the setup is fairly simple:
START ———> ServiceTask A ————-> ServiceTask B ————–> END
both service tasks are camel tasks that just call a prototype bean's method that just writes out thread id and sleeps for a few seconds on that
thread. Now
1) A, B async = false -> serial call as expected on the same "main" thread
2) A async = false, B async = true -> serial call, second call on different thread (as expected)
3) A async = true, B async = false -> serial call (not expected), second call on the same thread as the first (also not expected behavior)
4) A, B async = true -> B isn't called at all
(btw. acitviti:exclusive="false" always)
I thought that async service task call means that the service is called asynchronously from main thread (the service call being
executed on a different thread) and the main thread continues without blocking, i.e. in 3) it should start executing B immediately and on different
thread than A. Apparently async calls don't work the way I thought - my question is how can I manage to start executing both A and B
concurrently? In other words I want that both service tasks use their own thread, different from "main" thread.