Provides a default handler implementation which will simply log client state events.
Exception thrown when an attempt has been made to create a remote server when one with the same name is already defined.
Exception thrown when one or more of the options specified when creating a remote server have been found to be invalid.
This provides a default implementation of ISessionPropertiesListener which will simply log session properties callbacks at debug level. This should only be used for diagnostic purposes.
The authentication control feature that allows a client session to authenticate the credentials of other sessions.
Result returned from a CheckRemoteServerAsync(String) invocation.
Callback interface for Close(ISessionId, IClientCallback), and SetConflated(ISessionId, Boolean, IClientCallback).
Provides notifications of whether the requested operation was handled by the server.
Contextual version of IClientCallback.
Attaches an arbitrary context object to callback notifications.
This feature provides the ability for a client session to control other client sessions.
It allows for notifications of client sessions starting and closing as well as the ability to manage clients (forcibly closing them and so on).
A session must have VIEW_SESSION permission to be able to listen for notifications using SetSessionPropertiesListener(ISessionPropertiesListener, String) or GetSessionProperties(ISessionId, List<String>, ISessionPropertiesCallback) of other sessions or listen for SetQueueEventHandler(IQueueEventHandler) queue events. In addition REGISTER_HANDLER permission is required to set a session properties listener, a session details listener or queue event handler.
In order to perform operations that change another session's state (such as throttling, conflating, or closing the session, or changing roles), both VIEW_SESSION and MODIFY_SESSION permissions are required.
The callback interface for GetSystemAuthentication(IConfigurationCallback).
The callback interface for GetSystemAuthentication<TContext>(TContext, IConfigurationContextCallback<TContext>).
The control authenticator.
Defines regular expression based validation for a trusted client proposed session property.
Handler for client queue events.
Interface for a Remote Server specification.
Interface for a remote server builder. Since 6.7.
Interface for a full remote server specification including credentials.
Added in version 6.5.
This feature allows a client session to manage remote servers.
A remote server provides the configuration to connect to a Diffusion server belonging to a different cluster. Each server in the local cluster will establish a session with each remote server.
Higher level components, such as remote topic views, can specify the use of such remote servers by name. The connecting and disconnecting is handled automatically by the server (or servers in the same cluster) where the remote servers are defined.
A component can specify a remote server by name even if it does not exist (has not yet been created) and when the remote server is created the connection will take place automatically.
If a remote server is removed and there are components that depend upon it, those components will be disabled.
An example of the use of remote servers is within remote topic views (those that indicate that their source topics are to be taken from a different server) where the name of such a server can be specified.
Remote Server persistence and replication
Remote server configurations created through this feature are replicated across a cluster and persisted to disk.
The following access control restrictions are applied:
- To create a remote server (see CreateRemoteServerAsync(String, String, String, ICredentials)), remove a remote server (see RemoveRemoteServerAsync(String)) or check a remote server (see CheckRemoteServerAsync(String)), a session needs the CONTROL_SERVER global permission.
- To list remote servers (see ListRemoteServersAsync()), a session needs the VIEW_SERVER global permission.
Accessing the feature
Added in version 6.5.
The script builder used to create a script of commands to apply to the system authentication store at the server.
Contextual callback interface for GetSessionProperties<TC>(ISessionId, List<String>, TC, ISessionPropertiesContextCallback<TC>).
Used to associate some arbitrary context object with each call.
The handler for session properties listener notifications.
This is used along with SetSessionPropertiesListener(ISessionPropertiesListener, String) to obtain notifications for client sessions.
Callbacks with a properties parameter will provide a map of the property values requested when registering the listener.
Defines the validation for a trusted client proposed session property.
The snapshot of information from the system authentication store.
The system authentication control feature that allows a client session to query and update the system authentication store.
The principal in the system authentication store.
Defines values based validation for a trusted client proposed session property.
The action to be taken by the system authentication handler for connection attempts that do not provide a principal name and credentials.
Connection option key for a remote server.
Represents the current connection state of the remote server.
The session properties listener event type enumeration.