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 data 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.
Each messaging engine has its own data store. A messaging engine uses an instance of a JDBC data source to interact with the database that contains the data store for that messaging engine. For further information, see Data stores.