## com.saxonica.deploy
Interface SharedApplicationDataHandler

    public interface SharedApplicationDataHandler

`SharedApplicationDataHandler` is an interface that can be implemented by applications wanting to run generated servlet code in an environment offering shared access to resources, for example the ability to execute many compiled queries concurrently against the same pool of in-memory documents. The object that implements this interface must be accessible to the compiled query servlets when it calls `getServletContext().getAttribute("com.saxonica.servlet.applicationdata")`.

The shared application data handler is called at `init()` time to supply the Saxon `Configuration` in which the query should run, and again on each servlet request to initialize the `Controller` under which the query runs, for example with values for external variables and with serialization options. The application data handler may also call `Controller.setURIResolver()` to supply a URI handler for calls on the `doc()` function, and can thus manage a pool of named documents in memory that are used by all queries within the application.

Method Summary
`Configuration` `getConfiguration(javax.servlet.ServletContext servletContext)` Supply the Configuration in which queries will execute.
`void` `handleServletRequest(javax.servlet.http.HttpServletRequest req, Controller controller)` Handle a servlet request.

Method Detail

### getConfiguration

    Configuration getConfiguration(javax.servlet.ServletContext servletContext)

  Supply the Configuration in which queries will execute. This method will be called from the init() method of a servlet.

  Returns:
    the Configuration in which the servlet is to run. If queries are schema-aware, this must be a `SchemaAwareConfiguration`

### handleServletRequest

    void handleServletRequest(javax.servlet.http.HttpServletRequest req,
                              Controller controller)

  Handle a servlet request.

Copyright (C) Michael H. Kay. All rights reserved.