Service Integration Bus runtime components
At run time, a bus is comprised of a collection of cooperating messaging resources.
SIB service
Manages messaging resources associated with a particular appserver.
Not associated with a specific bus or messaging engine.
Management tasks include:
- Life cycle of messaging related transport chains defined within the appserver
- Handle inbound connection requests from external messaging applications
Every appserver has exactly one SIB service.
By default the SIB service within an appserver is disabled to conserve resources. The SIB service is enabled as part of the process of adding an appserver as a member of a bus.
The SIB service can be manually enabled within an appserver that is not a member of a bus, allowing the appserver to act as a bootstrap server for...
- Clients running outside of the WAS environment
- Messaging engines running in a different cell
The SIB service and any messaging engines running within an appserver make use of a variety of transport chains in order to communicate with each other and with client applications.
Message stores
A messaging engine must have only one message store for preserving persistent and non-persistent data, for normal operation, and for recovery should a failure occur.
This message store can be implemented as a...
data store Set of database tables within a relational database, accessed via a JDBC data source. file store Set of flat files within a file system, accessed directly via the native OS The process of adding an appserver as a member of a bus automatically creates a messaging engine on that appserver. As part of that process wizard, a choice is presented as to which implementation of a message store is required.
Exception destinations
If a messaging client encounters a problem when attempting to consume a message from a bus destination, message delivery has failed. The message can be placed back on the bus destination for redelivery. Use the maximum failed deliveries property on a bus destination to determine the number of times a message can fail delivery. The default value of this property is five.
An exception destination handles undeliverable messages. Both queue and topic space destinations can define an exception destination. If a message cannot be delivered to its intended bus destination, it is rerouted to the specified exception destination. This mechanism prevents the loss of messages that cannot be delivered.
Messages can also be placed on an exception destination for a variety of other reasons, examples of which include:
- When a destination is deleted, any messages on the destination are placed on the exception destination, unless the bus has been configured to discard them.
- When a message is received from a foreign bus, the message is placed on the exception destination if the target destination has reached its high message threshold.
Each messaging engine has a default exception destination of...
_SYSTEM.Exception.Destinaton.<Messaging_engine_Name>Non-default exception destinations, either local or a remote can be configured. IBM recommends that this destination be a queue destination and that it exists prior to the creation of the bus destination with which it is associated. If the exception destination specified has been deleted when a destination attempts to reroute an undeliverable message, the undeliverable message is rerouted to the default exception destination for the message engine.
You cannot delete the default exception destination from a bus.
For errors occuring as a message traverses the bus to a target destination, the messaging engine attempts to redeliver the message. If the the target destination is unreachable, the message is placed in it's default exception destination.
Exception destinations on the bus should be be monitored.
When message order is important, configure a bus destination not to use an exception destination. Messages that cannot be delivered to the target destination are not rerouted, and will be redelivered repeatedly. This has the effect of blocking the delivery of subsequent messages. Such configurations should be used with caution.
Publication messages arriving at a topic space destination for which there are no subscribers are not considered to be undeliverable. Such messages are discarded.