com.ibm.zosconnect.spi

Interface ServiceProviderInterceptor

  • All Superinterfaces:
    Interceptor


    public interface ServiceProviderInterceptor
    extends Interceptor
    Defines an extension of the Interceptor interface, and provides the ability to be invoked before and after the call to a system of record via a Service Provider.

    When more than one interceptor is configured, the order of execution is determined by a sequence number. See Interceptor.getSequence().

    The postSorInvoke methods of interceptors are processed in the opposite order to that in which the preSorInvoke methods were called. If interceptors specify invalid sequence numbers or the same sequence numbers, the processing order is undefined. If an API or service is invoked while a refresh is in progress, interceptor calls might not occur as expected. For example, you change the server.xml file to add an interceptor, and issue the refresh command. While the refresh occurs, an API is invoked. The preSorInvoke does not occur because the refresh has not finished. After the refresh is complete, the postSorInvoke for the API is called because it now exists.

    • Method Detail

      • preSorInvoke

        void preSorInvoke(java.util.Map<java.lang.Object,java.lang.Object> requestStateMap,
                          HttpZosConnectRequest httpZosConnectRequest,
                          Data data)
        Runs implementor specific logic. This method is invoked immediately prior to the call to the System of Record.
        Parameters:
        requestStateMap - A map object that holds implementor data that can be retrieved and/or updated by artifacts that have a reference to it (e.g. Interceptor.preInvoke(), Inteceptor.postInvoke()). z/OS Connect EE creates a new map and makes it available to the consuming artifacts per request. Prefix key strings with your own unique identifier to avoid clashes with those created by other interceptor providers. Key string entries starting with "IBM_ZOS_CONNECT" are reserved for z/OS Connect EE use.
        httpZosConnectRequest - A z/OS Connect representation of a HTTP servlet request.
        data - Common request specific data.
      • postSorInvoke

        void postSorInvoke(java.util.Map<java.lang.Object,java.lang.Object> requestStateMap,
                           HttpZosConnectRequest httpZosConnectRequest,
                           Data data)
        Runs implementor specific logic. This method is invoked immediately after the call to the System of Record.
        Parameters:
        requestStateMap - A map object that holds implementor data that can be retrieved and/or updated by artifacts that have a reference to it (e.g. Interceptor.preInvoke(), Inteceptor.postInvoke()). z/OS Connect EE creates a new map and makes it available to the consuming artifacts per request. Prefix key strings with your own unique identifier to avoid clashes with those created by other interceptor providers. Key string entries starting with "IBM_ZOS_CONNECT" are reserved for z/OS Connect EE use.
        httpZosConnectRequest - A z/OS Connect EE representation of a HTTP servlet request.
        data - Common response specific data.