I'm wondering if something is possible... I have a need to implement FIFO queuing on a source basis but I have a potential to have thousands (millions?) of potential sources (e.g. a set of mobile devices). I want messages from each source to be processed in FIFO order seriallly but I need concurrency in general in the system (e.g. source A can be processed concurrently with source B but all of source A and source B's messages should be processed in serial fashion.
Sources can theoretically join and leave the system at any time so there isn't any way to pre-configure them when the system starts. For capacity reasons idle source endpoints (consumers) should disposed of so they don't consume resources. So, in general, what I want to do is: When a message is received from sourceA an endpoint (consumer) is spun up to process the message (and any additional messages for sourceA that come in while the endpoint is active) but once the endpoint becomes idle and is receiving no more messages, it should be closed down. Is something like this doable in Camel? Does anyone know how I would configure things to get this to work? Thanks in advance for any pointers... Charles
