We have a java application that listens to MQ queue. There is only one queue say MQD01 and the application constantly listens to this for messages.Once we have a message, it is processed and relevant data is taken in to a text file before we put it in to a location to be read by other application. This has been working fine for one queue.
The new requirement is to have 5 other queues. Having individual listeners (apps) on each queue separately which is scheduled (by a scheduler with the help of shell script) is straight forward but doesn't look like a good design. Especially if there is any common functionality of message process and even if not, this is supposed to be single application with multiple processors running independently (listening) at the same time in parallel.
I can put queue names in a property file and loop over them but this would be sequential and there is unnecessary dependency of one type of message to be finished before we process other. In reality, there is no such dependency.
Any ideas on system design for scaling the current app to more than 1 queue?