@NonNullApi @NonNullFields

# Package org.springframework.messaging.simp.user

Support for handling messages to "user" destinations (i.e.

See: Description

Interface Summary
DestinationUserNameProvider: A `Principal` can also implement this contract when `getName()` isn't globally unique and therefore not suited for use with "user" destinations.
SimpSession: Represents a session of connected user.
SimpSubscription: Represents a subscription within a user session.
SimpSubscriptionMatcher: A strategy for matching subscriptions.
SimpUser: Represents a connected user.
SimpUserRegistry: A registry of currently connected users.
UserDestinationResolver: A strategy for resolving a "user" destination by translating it to one or more actual destinations one per active user session.

Class Summary
DefaultUserDestinationResolver: A default implementation of `UserDestinationResolver` that relies on a `SimpUserRegistry` to find active sessions for a user.
MultiServerUserRegistry: `SimpUserRegistry` that looks up users in a "local" user registry as well as a set of "remote" user registries.
UserDestinationMessageHandler: `MessageHandler` with support for "user" destinations.
UserDestinationResult: Contains the result from parsing a "user" destination from a source message and translating it to target destinations (one per active user session).
UserRegistryMessageHandler: `MessageHandler` that handles user registry broadcasts from other application servers and periodically broadcasts the content of the local user registry.

## Package org.springframework.messaging.simp.user Description

Support for handling messages to "user" destinations (i.e. destinations that are unique to a user's sessions), primarily translating the destinations and then forwarding the updated message to the broker.

Also included is `SimpUserRegistry` for keeping track of connected user sessions.