A messaging engine is a server component that provides the core messaging function of a service integration bus. A messaging engine manages bus resources and allows applications to communicate with the bus.
Each messaging engine is associated with a server or a server cluster that has been added as a member of a bus. When you add an application server or a server cluster as a bus member, a messaging engine is automatically created for this new member. If you add the same server as a member of multiple buses, the server is associated with multiple messaging engines (one messaging engine for each bus). You can create additional messaging engines for use with server clusters that are bus members, for availability and scalability reasons. However, in its simplest form a bus can be realized by a single engine.
Messaging engines are given a name, which is based on the name of the bus member. Each messaging engine also has a universal unique identifier (UUID) which provides a unique identity for the messaging engine. If you delete and recreate a messaging engine, it will have a different UUID and will not be recognized by the bus as the same engine, even though it may have the same name. For example, the recreated messaging engine will not be able to access the message store that the earlier instance used. If you accidentally delete a messaging engine configuration, and save the updated incorrect configuration, you must restore the configuration from a previous configuration backup.
A message store enables a messaging engine to preserve operating information and to retain those objects that messaging engines need for recovery in the event of a failure.
Each messaging engine has its own message store. There are two types of message store, file store and data store. For further information, see Message stores.