Bug 468713 - Client API change: removed AckPolicy, added Subscription.
Client API change: removed AckPolicy, added Subscription.
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: Release_Notes (Show other bugs)
All Linux
medium Severity medium
: 1.1
: ---
Assigned To: Lana Brindley
Kim van der Riet
: Documentation
: 471649 (view as bug list)
Depends On:
  Show dependency treegraph
Reported: 2008-10-27 11:49 EDT by Alan Conway
Modified: 2013-10-23 19:09 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-12-08 00:05:19 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Alan Conway 2008-10-27 11:49:19 EDT
Release note for API changes:

== Removed classes:

client::AckPolicy: Improved functionality is available on the new class client::Subscription.

== Modified classes:

 - parameter type of setAcquireMode() and setAcceptMode() changed from bool to AcquireMode/AcceptMode enum types to clarify the meaning of the values.
 - all settings for a subscription (flow control, acquire/accept mode, auto acknowledgement) can be passed to an individual subscribe() call in a SubscriptionSettings struct rather than setting them globally on the SubscriptionManager. The global settings are still provided for backward compatibility.
 - SessionManager::subscribe() functions return a Subscription.
 - SessionManager::findSubscriptions() finds a subscription by name.

== New classes:

client::SubscriptionSettings: Aggregates all the settings (flow control, accept-acquire parameters and auto acknowledgement settings) a subscription

client::Subscription: Represents active subscription. Provides functions to
 - Query settings for the subscription.
 - Keep track of un-acquired or un-accepted messages
 - Explicitly acquire and/or accept  messages when auto-acknoweldgement is disabled.

Reasons for the changes:
 - The use of bool for accept and acquire modes was confusing.
 - Creating a SubscriptionSettings individual subscriptions is more flexible and less error prone than setting values on the SubscriptionSettings that apply to *all* subsequent subscriptions.
 - AckPolicy only provided for control of accepting messages, not for acquiring them.
 - AckPolicy was copied to each new subscription, there was no way to access the instance associated with a particular subscription.
 - The concept of subscription is central to messaging, but the old API had no class to represent that concept. The Subscription class fills that gap.
Comment 1 Lana Brindley 2008-12-08 00:15:24 EST
*** Bug 471649 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.