[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xmlblaster] Databases



Daniel Lynes wrote:
I'm just wondering if I am correct in the understanding that xmlBlaster will only support one concurrent database? i.e. if you want to connect to multiple simultaneous databases, that you need to have multiple instances of xmlBlaster?

i.e. xmlBlaster is only backstored/persisted on a 1:1 database relationship

Thanks for any information you might be able to offer on this idea.

Daniel


Hi Daniel,

we have two modules which use JDBC connections:

1. As a service for clients to query any JDBC aware database
Here we have implemented a pool for all different database URLs
and for each DB URL again a pool which holds the connections.
The amount of DB's accessed is unlimited. See
http://www.xmlblaster.org/xmlBlaster/doc/requirements/engine.service.rdbms.html

2. XmlBlaster uses for its persistent queue (I_Queue interface) and
   persistent message storage (I_Map interface) a JDBC database.

It is possible to configure one database for msgstore and another DB for the queues.
Currently you can't configure one DB for topic 'A' and another one for topic 'B'
and a third one for client 'joe/1' callback queue.
To support such fine grained DB choices we would need to export more
configuration possibilities. As each queue instance is a plugin this would be possible
to add to xmlBlaster.
The properties to choose the DB for I_Queue and I_Map in xmlBlaster.properties are:

  StoragePlugin[JDBC][1.0]=${JdbcStorage[Oracle]}

  QueuePlugin[JDBC][1.0]=${JdbcStorage[MicrosoftSQLServer]}

In the above example we have chosen Oracle for message storage and Microsofts SQLServer
for queue storage. The ${...} is a variable which points to the concrete
settings for the DB (in the same xmlBlaster.properties file).
See
http://www.xmlblaster.org/xmlBlaster/doc/requirements/engine.message.lifecycle.html
http://www.xmlblaster.org/xmlBlaster/doc/requirements/queue.cache.html

regards,

Marcel

--
http://www.xmlBlaster.org