Table of Contents Introduction to CORBA Request-Level Interceptors Interceptor Architecture Capabilities and Limitations Execution Flow Client-side Execution Client-side Exception Handling Target-side Execution Target-side Exception Handling The exception_occurred Method About Short-circuit Behavior Using Multiple Request-Level Interceptors Multiple Client-side Interceptors Multiple Target-side Interceptors Interceptors and Meta-Operations Developing CORBA Request-Level Interceptors Step 1: Identify the Interfaces of Your CORBA Application Step 2: Write the Interceptor Implementation Code Starting the Implementation File Initializing the Interceptor at Run Time Obtaining the Interface Name from a Request Identifying Operations in the Request Implementing the Interceptor’s Response Operation Reading Parameters Out of a Data Input Stream Exceptions Step 3: Create the Interceptor Header File Step 4: Build the Interceptor Step 5: Test the Interceptor Deploying CORBA Request-Level Interceptors Registering an Interceptor Unregistering an Interceptor Changing the Order in Which Interceptors Are Called PersonQuery Sample Application How the PersonQuery Sample Application Works PersonQuery Database Client Application Command-line Interface The OMG IDL for the PersonQuery Sample Application Building and Running the PersonQuery Sample Application Copying the Files for the PersonQuery Sample Application Changing the Protection on PersonQuery Application Files Setting the Environment Variables Building the CORBA Client and Server Applications Start the PersonQuery Client and Server Applications Running the PersonQuery Sample Application Stopping the PersonQuery Sample Application InterceptorSimp Sample Interceptors How the PersonQuery Sample Interceptors Work Registering and Running the PersonQuery Interceptors Examining the Output of the Interceptors Unregistering the Interceptors Unregistering the Interceptors InterceptorSec Sample Interceptors How the PersonQuery Sample Interceptors Work How the InterceptorSec Target-side Interceptor Works Using the SecurityCurrent Object Obtaining the SecurityCurrent Object Creating the List of User Attributes Registering and Running the PersonQuery Interceptors Examining the Interceptor Output Unregistering the Interceptors InterceptorData Sample Interceptors InterceptorDataClient Interceptor InterceptorDataTarget Interceptor Implementing the InterceptorData Interceptors Registering and Running the InterceptorData Interceptors Examining the Interceptor Output Unregistering the Interceptors Request-Level Interceptor API Interceptor Hierarchy Interceptor Hierarchy Note on Unused Interfaces Interceptors::Interceptor Interface Interceptor::id Interceptor::shutdown RequestLevelInterceptor::RequestInterceptor Interface RequestContext Structure ReplyContext Structure RequestInterceptor::exception_occurred RequestLevelInterceptor::ClientRequestInterceptor Interface ClientRequestInterceptor::client_invoke ClientRequestInterceptor::client_response RequestLevelInterceptor::TargetRequestInterceptor Interface TargetRequestInterceptor::target_invoke TargetRequestInterceptor::target_response AppRequestInterceptorInit CORBA::DataInputStream Interface DataInputStream::read_<primitive> DataInputStream::read_array_<primitive> Starter Request-Level Interceptor Files Starter Implementation Code Starter Header File Code
Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.