The messaging system uses a store to save persistent JMS messages.
Following topics are covered in this section:
Storage Type
Persistent messages can be stored using:
File based store: FioranoMQ has a proprietary mechanism to store/retrieve messages from a flat-file based store.
OR
RDBMS based store: Messages can be stored in a JDBC-compliant RDBMS. Any standard RDBMS like Oracle, MSSQL, MySql, IBM DB2, Cloudscape, and HSQL can be used to store the messages. An administrator can configure the server to store messages in these message stores. By default, FioranoMQ is configured to use a file-based message store. FioranoMQ also provides the support for using different stores for the two messaging domains. There is one store for messages on PTP domain and another for messages in the Pub/Sub domain. The type of store to be used for messages associated with a particular destination can be specified during the creation of the destination. Administrators can specify the storage type of a destination using:
- The FioranoMQ Administrator Console
- The FioranoMQ Administration API
File-based store Versus JDBC-compliant RDBMS store
The performance of FioranoMQ with an RDBMS-based message store is not as optimal as with a file-based message store.
- RDBMS based store provides higher security.
- Offline Database reliability is generally higher.
- Database stores generate network traffic if the database server is on a different JVM or machine. Network traffic is not generated in case of a file-based store.
Default Destinations for sample applications
FioranoMQ creates default destination objects that can be used by client applications to run samples provided with the FioranoMQ installer. By default, FioranoMQ uses the file-based message store.
It is possible to configure the FioranoMQ Server to use the file-based message store or an RDBMS-based message store.
File-based default destination objects are:
- PrimaryQueue
- SecondaryQueue
- PrimaryTopic
- SecondaryTopic
The messages published on these destinations are stored in a file-based message store.
RDBMS-based default destination objects are:
- PrimaryRDBMSQueue
- SecondaryRDBMSQueue
- PrimaryRDBMSTopic
- SecondaryRDBMSTopic
Messages published on these destinations are stored in the RDBMS-based message store.
By enabling both file-based and RDBMS-based stores in a single instance of the FioranoMQ server enables messages requiring fast retrieval to be saved in a file-based store and messages requiring the reliability of JDBC-compliant relational databases to be saved in an RDBMS-based file store.
Creating a Default Database
FioranoMQ can be configured to store the messages in a JDBC-compliant relational database. By default, FioranoMQ is configured to use the HSQL database. Fiorano ships the library containing the JDBC driver for HSQL with the FioranoMQ product. If a different RDBMS is required, administrators need to create the FioranoMQ database in their RDBMS. If FioranoMQ needs to store messages in an Oracle database, administrators are expected to create database tables for storing messages and related content in the Oracle database. FioranoMQ provides scripts that can be used to create the required tables.
These scripts need to be executed before running the RDBMS enabled FioranoMQ server. These scripts accept the URL, UserName and Password as system variables and then create the file-based or RDBMS-based databases.
A FioranoMQ database can be created using:
- Command Line parameters
- Fiorano eStudio
Clearing a Database
A script is provided for clearing both file-based and RDBMS-based databases.