Network Deployment (Distributed operating systems), v8.0 > Applications > Service integration > Message stores > Data stores
Data store life cycle
Start or deleting a messaging engine affects the life cycle of its data store. Appropriate actions must be carried out on the data store.
Start the messaging engine
When you start a messaging engine, it performs checks on the tables that comprise the data store to determine whether they are suitable. If the tables do not exist, and we have selected the Create tables option when configuring the messaging engine, the messaging engine attempts to create the tables. If we have not selected this option, your database administrator must create the tables beforehand, by using the data definition language (DDL) statements generated by the sibDDLGenerator command.
Make sure that the database that contains the data store is available before starting the messaging engine, or the server that is hosting the messaging engine. If the database is unavailable for more than 15 minutes, the messaging engine cannot connect to the data store, and fails to start:
- If the messaging engine is hosted by a stand-alone application server, the messaging engine might enter the stopped state. We must restart the application server to start the messaging engine.
- If the messaging engine is hosted by a cluster member, the cluster member is disabled for high availability. The high availability manager attempts to start the messaging engine on another eligible server. If the database continues to be unavailable, the messaging engine fails to start again, that server is disabled for high availability, and the high availability manager attempts to start the messaging engine on another eligible server. In this manner, every member of the cluster can become disabled for high availability. We must manually re-enable the servers for high availability, either by restarting the servers, or through the administrative console. Refer to Manage high availability when messaging engines fail to start for details.
Stop the database
To stop the database that contains the data store, ensure that the messaging engine is stopped first. If the messaging engine is running and has exclusive locks on the data store, stopping the database can cause the messaging engine to be in an inconsistent state, because the messaging engine might continue to run and accept work. The same behavior occurs if the database fails while the messaging engine is running.
We can configure the messaging engine and its hosting server to shut down and restart when the database connection is lost, to prevent such inconsistencies.
To configure this behavior, set the sib.msgstore.jdbcFailoverOnDBConnectionLoss custom property on the messaging engine. We can also tune the system to decrease the probability of the messaging engine failing to start before the database becomes available.
Remove a messaging engine
When you remove a messaging engine, WAS (base) does not delete the data store tables automatically. To re-create the same messaging engine, first delete the previous set of tables. If you create a messaging engine with existing tables, these tables must be empty, so that the messaging engine can function correctly. Refer to the documentation for your chosen relational database management system (RDBMS) for information about how to delete tables. However, if we have created a data store with default settings, you do not have to delete previous tables.
Remove a messaging engine from a bus
Tune the detection of database connection loss
Configure messaging engine and server behavior when a data store connection is lost
Manage high availability when messaging engines fail to start
Related
sibDDLGenerator command
Data store tables Concept topic