XmlBlaster Logo



XmlBlaster Logo

Type NEW
Priority MEDIUM
Topic XmlBlaster provides a plugin possibility for its persistence layer

To store messages from xmlBlaster and to restore them again after a new startup of the server or after a server crash there is are two interfaces, called I_Map and I_Queue, available.

Currently we provide plugins to store messages to Postgres or Oracle.
You may supply your own persistence layer, which for example stores the messages in a database like Ozone or MySQL or even to your own designed high performing native database.

Writing an own persistence layer is straight forward:

  1. Decide if you need another persistent queue (I_Queue) or if you need another random access plugin (I_Map).
  2. If you need a persistent queue implement the I_Queue interface (look into JdbcQueuePlugin.java how you could do it).
  3. Register your plugin in xmlBlaster.properties (see other examples there), e.g. QueuePlugin[FAST][1.0]=com.myComp.persist.FastPersistencePlugin

We provide a cache implementation for I_Map and for I_Queue which can usually directly use your new persistence plugin. The current cache plugin stores persistent messages and swaps transient messages if you want to handle huge message amounts in xmlBlaster which don't fit to RAM anymore.


NOTE: Configuration parameters are specified on command line (-someValue 17) or in the xmlBlaster.properties file (someValue=17). See requirement "util.property" for details.
Columns named Impl tells you if the feature is implemented.
Columns named Hot tells you if the configuration is changeable in hot operation.

See API org.xmlBlaster.util.plugin.I_Plugin
See API org.xmlBlaster.engine.msgstore.I_Map
See API org.xmlBlaster.engine.msgstore.cache.PersistenceCachePlugin
See API org.xmlBlaster.util.queue.I_Queue
See API org.xmlBlaster.util.queue.jdbc.JdbcQueuePlugin
See API org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin
See REQ queue.jdbc.commontable
See TEST org.xmlBlaster.test.classtest.queue.I_QueueTest
See TEST org.xmlBlaster.test.classtest.msgstore.I_MapTest

This page is generated from the requirement XML file xmlBlaster/doc/requirements/engine.persistence.xml

Back to overview