Win a copy of Java Concurrency Live Lessons this week in the Threads forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Dispatch messages system design consult  RSS feed

 
ray frid
Ranch Hand
Posts: 79
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a design question and would like to have suggestions.

I am using Weblogic 11g, EJB3.0

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,

ray
 
Andrew Moko
Ranch Hand
Posts: 55
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I would have a property file that stores the queue name alongside the target database.

The program will have to create/ maintain all queues on the property file. An incoming message looks up the queue name given the key (target dbase). You won't have to worry about changing code,, you just have to deal with the property file configurations..

Hope this helps.

God luck!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!