Dispatch messages system design consult
I have a design question and would like to have suggestions.
I am using Weblogic 11g, EJB3.0 , Weblogic JMs
I have a system which it's target to retrieve and dispatch messages to couple of resources(databases).
Each message contain information and target database key.
So here is an flow example:
I get from web service a message and key target. I parse the message and dispatch it to the right database via the key target.
There is a possibility that a message will contain more then one target database.(for example the key 'all' means that I should dispatch to all databases.
If Insert is failing in one of the resources a rollback will occurred and I a re-try will re-execute the whole operation.
So now this is my issue:
Should I make the number of the queues as the number of my resources? (and dedicated each Queue to a specific resource)
(In this case I parse each message and just send it to the right queue while an MDB will listen and do the insertion to the right database)
If I do it that way I wont be able to make it dynamic, Meaning each time a new resource will need to be added/removed in the future I will need to open the code and make the right changes.
What you desgigners think? How could I implement it better dynamiclly?
thanks for your help,