Quality of Service (QoS)
The QoS library is a collection of classes that facilitate the implementation of systemic qualities in JBI components. Please review other tabs on this page for details about the utilities in this library. This library resides in the
open-jbi-components project
under ojc-core/component-common; its source can be browsed here:
OJC CVS repository
Javadoc
The javadoc for QoS can be found
on the OpenESB website
.
Who uses QoS?
Service Engines
Binding Components
Wire Qualities
Redelivery & Throttling
Sun-built JBI components use the
Quality of Service (QoS)
library to implement redelivery and throttling. The library supports parsing of design-time artifacts as well as runtime implementation of retry attempts and throttling. For more information, visit the
Redelivery and
Throttling wiki pages.
Usage
Redelivery and throttling on the NMR is available via the MessagingChannel implementation that all components should use in place of JBI's DeliveryChannel. Protocol-specific redelivery and throttling for Binding Components is not available; see below.
Binding Components
The wire qualities provided by MessagingChannel are applicable only to exchanges with the NMR; therefore, protocol-specific redelivery and throttling are not available. However, the design-time configuration provided by users is still available to Binding Components via the MessagingChannel's method:
public T getServiceQuality(EndpointInfo endpoint, Class qosType);
.