org.glassfish.jersey.server.spi

## Interface ContainerProvider

    @Contract
     @ConstrainedTo(value=SERVER)
    public interface ContainerProvider

Service-provider interface for creating container instances. If supported by the provider, a container instance of the requested Java type will be created.

The created container is responsible for listening on a communication chanel for new client requests, dispatching these requests to the registered `Jersey application handler` using the handler's `ApplicationHandler.handle(org.glassfish.jersey.server.ContainerRequest)` handle(requestContext)} method and sending the responses provided by the application back to the client.

A provider shall support a one-to-one mapping between a type, provided the type is not `Object`. A provider may also support mapping of sub-types of a type (provided the type is not `Object`). It is expected that each provider supports mapping for distinct set of types and subtypes so that different providers do not conflict with each other.

An implementation can identify itself by placing a Java service provider configuration file (if not already present) - `org.glassfish.jersey.server.spi.ContainerProvider` - in the resource directory `META-INF/services`, and adding the fully qualified service-provider-class of the implementation in the file.

Author:
  Paul Sandoz, Jakub Podlesak, Marek Potociar

### Method Summary

All Methods Instance Methods Abstract Methods
`<T> T` `createContainer(Class<T> type, jakarta.ws.rs.core.Application application)` Create an container of a given type.

### Method Detail

#### createContainer

    <T> T createContainer(Class<T> type,
                          jakarta.ws.rs.core.Application application)
                   throws jakarta.ws.rs.ProcessingException

Create an container of a given type.

Type Parameters:
  `T` - the type of the container.
Parameters:
  `type` - the type of the container.
  `application` - JAX-RS / Jersey application.
Returns:
  the container, otherwise `null` if the provider does not support the requested `type`.
Throws:
  `jakarta.ws.rs.ProcessingException` - if there is an error creating the container.