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, to provide workload sharing or scalability, or workload sharing with high availability. However, in its simplest form, a bus can be realized by a single messaging 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) that provides a unique identity for the messaging engine. If you delete and re-create a messaging engine, it will have a different UUID and will not be recognized by the bus as the same engine, even though it might have the same name. For example, the re-created 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.