Class JmxClientConnection

    • Field Detail

      • jmxConnectionID

        protected String jmxConnectionID
        The JMX connection ID for this client connection.
    • Constructor Detail

      • JmxClientConnection

        public JmxClientConnection​(JmxConnectionHandler jmxConnectionHandler,
                                   AuthenticationInfo authInfo,
                                   ServerContext serverContext)
        Creates a new Jmx client connection that will be authenticated as as the specified user.
        Parameters:
        jmxConnectionHandler - The connection handler on which we should be registered
        authInfo - the User authentication info
        serverContext - the server context
    • Method Detail

      • handle

        public Flowable<Response> handle​(org.forgerock.services.context.Context context,
                                         Request request)
        Processes the provided request in a reactive way, which should be either a BindRequest or a SearchRequest.
        Specified by:
        handle in interface RequestHandler
        Parameters:
        context - The context to process the request, which is expected to contain a RequestDJContext
        request - The request to process. Only BindRequest and SearchRequest are handled, other requests will return a LdapException
        Returns:
        a stream of responses
      • getConnectionID

        public long getConnectionID()
        Description copied from class: ClientConnection
        Retrieves the unique identifier that has been assigned to this connection.
        Specified by:
        getConnectionID in class ClientConnection
        Returns:
        The unique identifier that has been assigned to this connection.
      • getProtocol

        public String getProtocol()
        Description copied from class: ClientConnection
        Retrieves the protocol that the client is using to communicate with the Directory Server.
        Specified by:
        getProtocol in class ClientConnection
        Returns:
        The protocol that the client is using to communicate with the Directory Server.
      • getClientAddress

        public String getClientAddress()
        Description copied from class: ClientConnection
        Retrieves a string representation of the address of the client.
        Specified by:
        getClientAddress in class ClientConnection
        Returns:
        A string representation of the address of the client.
      • getClientPort

        public int getClientPort()
        Description copied from class: ClientConnection
        Retrieves the port number for this connection on the client system if available.
        Specified by:
        getClientPort in class ClientConnection
        Returns:
        The port number for this connection on the client system or -1 if there is no client port associated with this connection (e.g. internal client).
      • getServerAddress

        public String getServerAddress()
        Description copied from class: ClientConnection
        Retrieves a string representation of the address on the server to which the client connected.
        Specified by:
        getServerAddress in class ClientConnection
        Returns:
        A string representation of the address on the server to which the client connected.
      • getServerPort

        public int getServerPort()
        Description copied from class: ClientConnection
        Retrieves the port number for this connection on the server system if available.
        Specified by:
        getServerPort in class ClientConnection
        Returns:
        The port number for this connection on the server system or -1 if there is no server port associated with this connection (e.g. internal client).
      • getRemoteAddress

        public InetAddress getRemoteAddress()
        Description copied from class: ClientConnection
        Retrieves the InetAddress associated with the remote client system.
        Specified by:
        getRemoteAddress in class ClientConnection
        Returns:
        The InetAddress associated with the remote client system. It may be null if the client is not connected over an IP-based connection.
      • isConnectionValid

        public boolean isConnectionValid()
        Description copied from class: ClientConnection
        Returns whether the Directory Server believes this connection to be valid and available for communication.
        Specified by:
        isConnectionValid in class ClientConnection
        Returns:
        true if the connection is valid, false otherwise
      • isSecure

        public boolean isSecure()
        Description copied from class: ClientConnection
        Indicates whether this client connection is currently using a secure mechanism to communicate with the server. Note that this may change over time based on operations performed by the client or server (e.g., it may go from false to true if the client uses the StartTLS extended operation).
        Specified by:
        isSecure in class ClientConnection
        Returns:
        true if the client connection is currently using a secure mechanism to communicate with the server, or false if not.
      • processSearch

        public Result processSearch​(SearchRequest request)
        Processes an JMX search operation with the provided information.
        Parameters:
        request - The search request.
        Returns:
        A result
      • processBind

        public void processBind​(BindRequest request)
                         throws LdapException
        Processes a bind request.
        Parameters:
        request - The bind request.
        Throws:
        LdapException - If result is not SUCCESS or an error occurs
      • sendSearchEntry

        public void sendSearchEntry​(SearchOperation searchOperation,
                                    SearchResultEntry searchEntry)
        Description copied from class: ClientConnection
        Sends the provided search result entry to the client.
        Specified by:
        sendSearchEntry in class ClientConnection
        Parameters:
        searchOperation - The search operation with which the entry is associated.
        searchEntry - The search result entry to be sent to the client.
      • sendSearchReference

        public boolean sendSearchReference​(SearchOperation searchOperation,
                                           SearchResultReference searchReference)
        Description copied from class: ClientConnection
        Sends the provided search result reference to the client.
        Specified by:
        sendSearchReference in class ClientConnection
        Parameters:
        searchOperation - The search operation with which the reference is associated.
        searchReference - The search result reference to be sent to the client.
        Returns:
        true if the client is able to accept referrals, or false if the client cannot handle referrals and no more attempts should be made to send them for the associated search operation.
      • sendIntermediateResponseMessage

        protected boolean sendIntermediateResponseMessage​(Operation operation,
                                                          IntermediateResponse intermediateResponse)
        Description copied from class: ClientConnection
        Sends the provided intermediate response message to the client.
        Specified by:
        sendIntermediateResponseMessage in class ClientConnection
        Parameters:
        operation - The operation with which the intermediate response is associated.
        intermediateResponse - The intermediate response message to be sent.
        Returns:
        true if processing on the associated operation should continue, or false if not.
      • disconnect

        public void disconnect​(DisconnectReason disconnectReason,
                               boolean sendNotification,
                               LocalizableMessage message)
        Description copied from class: ClientConnection
        Closes the connection to the client, optionally sending it a message indicating the reason for the closure. Note that the ability to send a notice of disconnection may not be available for all protocols or under all circumstances. Also note that when attempting to disconnect a client connection as a part of operation processing (e.g., within a plugin or other extension), the disconnectClient method within that operation should be called rather than invoking this method directly.

        All subclasses must invoke the finalizeConnectionInternal method during the course of processing this method.

        Specified by:
        disconnect in class ClientConnection
        Parameters:
        disconnectReason - The disconnect reason that provides the generic cause for the disconnect.
        sendNotification - Indicates whether to try to provide notification to the client that the connection will be closed.
        message - The message to send to the client. It may be null if no notification is to be sent.
      • disconnectWithoutUnbind

        public void disconnectWithoutUnbind​(DisconnectReason disconnectReason,
                                            LocalizableMessage message)
        Closes the connection to the client, optionally sending it a message indicating the reason for the closure. Note that the ability to send a notice of disconnection may not be available for all protocols or under all circumstances.

        Contrary to disconnect(DisconnectReason, boolean, LocalizableMessage) this method does not attempt to perform an UNBIND operation on the connection.

        Parameters:
        disconnectReason - The disconnect reason that provides the generic cause for the disconnect.
        message - The message to send to the client. It may be null if no notification is to be sent.
      • getOperationInProgress

        public Operation getOperationInProgress​(int messageID)
        Description copied from class: ClientConnection
        Retrieves the operation in progress with the specified message ID.
        Specified by:
        getOperationInProgress in class ClientConnection
        Parameters:
        messageID - The message ID of the operation to retrieve.
        Returns:
        The operation in progress with the specified message ID, or null if no such operation could be found.
      • removeOperationInProgress

        public void removeOperationInProgress​(int messageID)
        Description copied from class: ClientConnection
        Removes the provided operation from the set of operations in progress for this client connection. Note that this does not make any attempt to cancel any processing that may already be in progress for the operation.
        Specified by:
        removeOperationInProgress in class ClientConnection
        Parameters:
        messageID - The message ID of the operation to remove from the set of operations in progress.
      • getMonitorSummary

        public JsonValue getMonitorSummary()
        Description copied from class: ClientConnection
        Returns a summary of this client connection in JSON (format that is both human readable and machine parseable).
        Specified by:
        getMonitorSummary in class ClientConnection
        Returns:
        A summary of this client connection in JSON.
      • toString

        public void toString​(StringBuilder buffer)
        Description copied from class: ClientConnection
        Appends a string representation of this client connection to the provided buffer.
        Specified by:
        toString in class ClientConnection
        Parameters:
        buffer - The buffer to which the information should be appended.
      • finalize

        protected void finalize()
        Called by the Gc when the object is garbage collected Release the cursor in case the iterator was badly used and releaseCursor was never called.
        Overrides:
        finalize in class Object
      • getSSF

        public int getSSF()
        Description copied from class: ClientConnection
        Return the Security Strength Factor of a client connection.
        Specified by:
        getSSF in class ClientConnection
        Returns:
        An integer representing the SSF value of a connection.