apache > ws.apache

## Apache Muse - WS-BaseNotification - PullPoint Capability

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

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

Description: This capability exposes WS-N pullpoint resources, which act as temporary storage for notifications until clients retrieve them. This type of notification is different from publish-subscribe because clients will get the resource's messages by polling (or some other trigger) rather than expecting to receive the notification as soon as it occurs. Pullpoints work by acting as a semi-broker - they subscribe to notifications so clients don't have to, and then they store the notifications they receive until the clients ask for them.

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

> JAR file: muse-wsn-api.jar

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

> JAR file: muse-wsn-impl.jar

Action on initialize(): Creates an instance of PullPointDataStore, which is a generic interface for the component that is storing the notifications. Makes sure that the NotificationConsumer capability is present, and then registers itself to listen for all incoming notifications.

Action on initializeCompleted(): None.

Action on prepareShutdown(): None.

Action on shutdown(): None.

Non-Core Dependencies:

- http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer
- The Abstract WSRF Capability
- org.apache.muse.ws.notification.PullPointDataStore

Behavior and Limitations: Muse provides simple implementation of PullPointDataStore that keeps an in-memory collection of the notifications with an adjustable maximum size; most users will want to replace this component with one that stores the notifications in a more performant way. The current PullPointDataStore also deletes notifications once they have been read with the GetMessages operation - this is neither required or prohibited, as the spec is vague on what should happen after a notification has been retrieved by one client.

Initialization parameters: None.