Class RequestManager


  • public class RequestManager
    extends Object
    RequestManager is responsible for setting up and tearing down any state associated with each request. At the moment, this includes:
    • Injecting an Environment implementation for the request's thread into ApiProxy.
    • Scheduling any future actions that must occur while the request is executing (e.g. deadline exceptions), and cleaning up any scheduled actions that do not occur.
    It is expected that clients will use it like this:
     RequestManager.RequestToken token =
         requestManager.startRequest(...);
     try {
       ...
     } finally {
       requestManager.finishRequest(token);
     }
     
    • Method Detail

      • builder

        public static RequestManager.Builder builder()
        Make a partly-initialized builder for a RequestManager.
      • setMaxOutstandingApiRpcs

        public void setMaxOutstandingApiRpcs​(int maxOutstandingApiRpcs)
      • disableCloudDebugger

        public void disableCloudDebugger()
        Disables Cloud Debugger.

        If called before the first request has been processed, the Cloud Debugger will not be even activated.

      • startRequest

        public RequestManager.RequestToken startRequest​(AppVersion appVersion,
                                                        AnyRpcServerContext rpc,
                                                        com.google.apphosting.base.protos.RuntimePb.UPRequest upRequest,
                                                        MutableUpResponse upResponse,
                                                        ThreadGroup requestThreadGroup)
        Set up any state necessary to execute a new request using the specified parameters. The current thread should be the one that will execute the new request.
        Returns:
        a RequestToken that should be passed into finishRequest after the request completes.
      • finishRequest

        public void finishRequest​(RequestManager.RequestToken requestToken)
        Tear down any state associated with the specified request, and restore the current thread's state as it was before startRequest was called.
        Throws:
        IllegalStateException - if called from the wrong thread.
      • sendDeadline

        public void sendDeadline​(String securityTicket,
                                 boolean isUncatchable)
      • shutdownRequests

        public void shutdownRequests​(RequestManager.RequestToken token)
        Notify requests that the server is shutting down.