apache > ws.apache

## Apache Muse - WS-BaseNotification - SubscriptionManager Capability

Spec name and port type: WS-BaseNotification v1.3, SubscriptionManager (WSDL)

Capability URI: http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager

Description: This capability represents WSN subscription resources that were created by another WS-resource's NotificationProducer capability. Each subscription resource has a consumer that it publishes message to and a filter that allows it to determine which messages should be sent. Remote clients can manage the lifecycle of subscriptions if the subscription resource type is deployed with either of the WSRL capabilities.

Java interface: org.apache.muse.ws.notification.SubscriptionManager

> JAR file: muse-wsn-api.jar

Default Java implementation: org.apache.muse.ws.notification.impl.SimpleSubscriptionManager

> JAR file: muse-wsn-impl.jar

Action on initialize(): None.

Action on initializeCompleted(): None.

Action on prepareShutdown(): None.

Action on shutdown(): None.

Non-Core Dependencies:

- org.apache.muse.core.ws.notification.remote.NotificationConsumerClient
- The Abstract WSRF Capability

Behavior and Limitations: This capability provides a publish() method that allows users to send notifications to the subscription's consumer. If multiple notification messages are published at once and one of them fails to reach the consumer, a warning message is logged and the next message is considered. The subscription's filter is used to determine if the message should be sent.

The pauseSubscription() and resumeSubscription() methods are implemented as a simple flag that is checked when a message is published, so pausing and resuming subscriptions does not require overhead or have an effect on performance.

Initialization parameters:

- destroy-on-failure - A Boolean value that tells the capability implementation to destroy the subscription resource if a notification fails. The default value is false.
- number-of-tries - An integer value that tells the capability implementation how many times it should try to send a notification before giving up. The default value is one (1).
- trace-notifications - A Boolean value that tells the capability implementation if it should log the outgoing notifications. The default value is false.