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,