Interface Listener


  • public interface Listener
    This interface exposes the call flow Listener API. This interface is implemented by listeners that are registered with the call flow agent, in order to receive the call flow trap point notifications. Note 1: There are no ordering guaratees for the various notifications. Note 2: A listener implementation must be stateless. This is allow the listener to be accessed concurrently by multiple threads, and yet avoid synchronization overhead associated with protected access to shared state, in a multi-threaded environment. Note 3: It is also imperative that the listener implementation is light-weight, and avoids time consuming operations such as disk access, logging, synchronization locks, et cetera. This will ensure that the listener does not negatively impact the performance of the application thread.
    Author:
    Ram Jeyaraman
    • Method Detail

      • requestStart

        void requestStart​(String requestId,
                          RequestType requestType,
                          String callerIPAddress,
                          String remoteUser)
        This notification indicates that a request is being started. Allowed request types are: 1. Remote HTTP Web request. 2. Remote EJB request. 3. MDB request. 4. Timer EJB.
        Parameters:
        requestType - Type of the request.
        callerIPAddress - Client host IP address of caller.
      • requestEnd

        void requestEnd​(String requestId)
        This notification indicates that a request is about to complete.
      • ejbMethodStart

        void ejbMethodStart​(String requestId,
                            String methodName,
                            String applicationName,
                            String moduleName,
                            String componentName,
                            ComponentType componentType,
                            String callerPrincipal,
                            String transactionId)
        This notification indicates that an EJB method is about to be invoked. This parameters provide information such as method name, component name, component type, application name, module name, caller principal.
      • ejbMethodEnd

        void ejbMethodEnd​(String requestId,
                          Throwable exception)
        This notification indicates that an EJB method has completed. The parameters provide information on the outcome of the invocation such as exception, if any.
      • webMethodStart

        void webMethodStart​(String requestId,
                            String methodName,
                            String applicationName,
                            String moduleName,
                            String componentName,
                            ComponentType componentType,
                            String callerPrincipal)
        This notification indicates that a web method is about to be invoked. This parameters provide information such as method name, component name, component type, application name, module name, caller principal, and caller IP address.
      • webMethodEnd

        void webMethodEnd​(String requestId,
                          Throwable exception)
        This notification indicates that a web method has completed. The parameters provide information on the outcome of the invocation such as exception, if any.
      • entityManagerMethodStart

        void entityManagerMethodStart​(String requestId,
                                      EntityManagerMethod entityManagerMethod,
                                      String applicationName,
                                      String moduleName,
                                      String componentName,
                                      ComponentType componentType,
                                      String callerPrincipal)
        This notification indicates that an EntityManager method is about to be invoked. This parameters provide information such as method name, component name, component type, application name, module name, caller principal.
      • entityManagerMethodEnd

        void entityManagerMethodEnd​(String requestId)
        This notification indicates that an EntityManager method has completed.
      • entityManagerQueryStart

        void entityManagerQueryStart​(String requestId,
                                     EntityManagerQueryMethod queryMethod,
                                     String applicationName,
                                     String moduleName,
                                     String componentName,
                                     ComponentType componentType,
                                     String callerPrincipal)
        This notification indicates that an EntityManager Query method is about to be invoked. This parameters provide information such as method name, component name, component type, application name, module name, caller principal.
      • entityManagerQueryEnd

        void entityManagerQueryEnd​(String requestId)
        This notification indicates that an EntityManager Query method has completed.