Class JettyFactory

java.lang.Object
io.micronaut.http.ssl.SslBuilder<SSLContext>
io.micronaut.servlet.http.server.ServletServerFactory
io.micronaut.servlet.jetty.JettyFactory

@Factory public class JettyFactory extends ServletServerFactory
Factory for the Jetty server.
Since:
1.0
Author:
graemerocher
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.micronaut.http.ssl.SslBuilder

    io.micronaut.http.ssl.SslBuilder.CertificateSpec, io.micronaut.http.ssl.SslBuilder.KeyStoreBasedCertificateSpec, io.micronaut.http.ssl.SslBuilder.PemBasedCertificateSpec
  • Constructor Summary

    Constructors
    Constructor
    Description
    JettyFactory(io.micronaut.core.io.ResourceResolver resourceResolver, JettyConfiguration serverConfiguration, io.micronaut.http.ssl.SslConfiguration sslConfiguration, io.micronaut.context.ApplicationContext applicationContext, List<ServletStaticResourceConfiguration> staticResourceConfigurations)
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    configureConnectors(@NonNull org.eclipse.jetty.server.Server server, @NonNull org.eclipse.jetty.server.ServerConnector http, @Nullable org.eclipse.jetty.server.ServerConnector https)
    Configures the server connectors.
    protected void
    configureKeyStore(io.micronaut.http.ssl.SslConfiguration sslConfiguration, org.eclipse.jetty.util.ssl.SslContextFactory.Server sslContextFactory, org.eclipse.jetty.util.resource.ResourceFactory resourceFactory)
    Configures key store.
    protected void
    configureServletInitializer(org.eclipse.jetty.server.Server server, org.eclipse.jetty.ee10.servlet.ServletContextHandler contextHandler, Collection<jakarta.servlet.ServletContainerInitializer> servletContainerInitializers)
    Configures the servlet initializer.
    protected void
    configureTrustStore(io.micronaut.http.ssl.SslConfiguration sslConfiguration, org.eclipse.jetty.util.ssl.SslContextFactory.Server sslContextFactory, org.eclipse.jetty.util.resource.ResourceFactory resourceFactory)
    Configures trust store.
    protected org.eclipse.jetty.server.Server
    jettyServer(io.micronaut.context.ApplicationContext applicationContext, MicronautServletConfiguration configuration, JettyConfiguration.JettySslConfiguration jettySslConfiguration)
    Builds the Jetty server bean.
    protected org.eclipse.jetty.server.Server
    jettyServer(io.micronaut.context.ApplicationContext applicationContext, MicronautServletConfiguration configuration, JettyConfiguration.JettySslConfiguration jettySslConfiguration, Collection<jakarta.servlet.ServletContainerInitializer> servletContainerInitializers)
    Builds the Jetty server bean.
    protected org.eclipse.jetty.server.Server
    jettyServer(io.micronaut.context.ApplicationContext applicationContext, MicronautServletConfiguration configuration, JettyConfiguration.JettySslConfiguration jettySslConfiguration, Collection<jakarta.servlet.ServletContainerInitializer> servletContainerInitializers, @Nullable org.eclipse.jetty.server.RequestLog requestLog)
    Builds the Jetty server bean.
    protected @NonNull org.eclipse.jetty.server.ServerConnector
    newHttpConnector(@NonNull org.eclipse.jetty.server.Server server, @NonNull String host, @NonNull Integer port)
    Create the HTTP connector.
    protected @NonNull org.eclipse.jetty.server.ServerConnector
    newHttpsConnector(@NonNull org.eclipse.jetty.server.Server server, @NonNull io.micronaut.http.ssl.SslConfiguration sslConfiguration, JettyConfiguration.JettySslConfiguration jettySslConfiguration, org.eclipse.jetty.util.resource.ResourceFactory resourceFactory)
    Create the HTTPS connector.
    protected @NonNull org.eclipse.jetty.ee10.servlet.ServletContextHandler
    newJettyContext(@NonNull org.eclipse.jetty.server.Server server, @NonNull String contextPath)
    Create the Jetty context.
    protected @NonNull org.eclipse.jetty.server.Server
    newServer(@NonNull io.micronaut.context.ApplicationContext applicationContext, @NonNull MicronautServletConfiguration configuration)
    Create a new server instance.

    Methods inherited from class io.micronaut.http.ssl.SslBuilder

    getKeyManagerFactory, getKeyStore, getTrustManagerFactory, getTrustManagerFactory, getTrustStore, load, load

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JettyFactory

      public JettyFactory(io.micronaut.core.io.ResourceResolver resourceResolver, JettyConfiguration serverConfiguration, io.micronaut.http.ssl.SslConfiguration sslConfiguration, io.micronaut.context.ApplicationContext applicationContext, List<ServletStaticResourceConfiguration> staticResourceConfigurations)
      Default constructor.
      Parameters:
      resourceResolver - The resource resolver
      serverConfiguration - The server config
      sslConfiguration - The SSL config
      applicationContext - The app context
      staticResourceConfigurations - The static resource configs
  • Method Details

    • jettyServer

      protected org.eclipse.jetty.server.Server jettyServer(io.micronaut.context.ApplicationContext applicationContext, MicronautServletConfiguration configuration, JettyConfiguration.JettySslConfiguration jettySslConfiguration) throws Exception
      Builds the Jetty server bean.
      Parameters:
      applicationContext - This application context
      configuration - The servlet configuration
      jettySslConfiguration - The Jetty SSL config
      Returns:
      The Jetty server bean
      Throws:
      Exception
    • jettyServer

      protected org.eclipse.jetty.server.Server jettyServer(io.micronaut.context.ApplicationContext applicationContext, MicronautServletConfiguration configuration, JettyConfiguration.JettySslConfiguration jettySslConfiguration, Collection<jakarta.servlet.ServletContainerInitializer> servletContainerInitializers) throws Exception
      Builds the Jetty server bean.
      Parameters:
      applicationContext - This application context
      configuration - The servlet configuration
      jettySslConfiguration - The Jetty SSL config
      servletContainerInitializers - The micronaut servlet initializer
      Returns:
      The Jetty server bean
      Throws:
      Exception
    • jettyServer

      @Singleton @Primary protected org.eclipse.jetty.server.Server jettyServer(io.micronaut.context.ApplicationContext applicationContext, MicronautServletConfiguration configuration, JettyConfiguration.JettySslConfiguration jettySslConfiguration, Collection<jakarta.servlet.ServletContainerInitializer> servletContainerInitializers, @Nullable @Nullable org.eclipse.jetty.server.RequestLog requestLog) throws Exception
      Builds the Jetty server bean.
      Parameters:
      applicationContext - This application context
      configuration - The servlet configuration
      jettySslConfiguration - The Jetty SSL config
      servletContainerInitializers - The micronaut servlet initializer
      requestLog - The access log
      Returns:
      The Jetty server bean
      Throws:
      Exception
    • newHttpConnector

      @NonNull protected @NonNull org.eclipse.jetty.server.ServerConnector newHttpConnector(@NonNull @NonNull org.eclipse.jetty.server.Server server, @NonNull @NonNull String host, @NonNull @NonNull Integer port)
      Create the HTTP connector.
      Parameters:
      server - The server
      host - The host
      port - The port
      Returns:
      The server connector.
    • newHttpsConnector

      @NonNull protected @NonNull org.eclipse.jetty.server.ServerConnector newHttpsConnector(@NonNull @NonNull org.eclipse.jetty.server.Server server, @NonNull @NonNull io.micronaut.http.ssl.SslConfiguration sslConfiguration, @NonNull JettyConfiguration.JettySslConfiguration jettySslConfiguration, org.eclipse.jetty.util.resource.ResourceFactory resourceFactory) throws Exception
      Create the HTTPS connector.
      Parameters:
      server - The server
      sslConfiguration - The SSL configuration
      jettySslConfiguration - The Jetty SSL configuration
      resourceFactory - The Resource factory
      Returns:
      The server connector
      Throws:
      Exception
    • configureKeyStore

      protected void configureKeyStore(io.micronaut.http.ssl.SslConfiguration sslConfiguration, org.eclipse.jetty.util.ssl.SslContextFactory.Server sslContextFactory, org.eclipse.jetty.util.resource.ResourceFactory resourceFactory) throws Exception
      Configures key store.
      Parameters:
      sslConfiguration - the SslConfiguration
      sslContextFactory - the SslContextFactory.Server
      resourceFactory - the ResourceFactory
      Throws:
      Exception
    • configureTrustStore

      protected void configureTrustStore(io.micronaut.http.ssl.SslConfiguration sslConfiguration, org.eclipse.jetty.util.ssl.SslContextFactory.Server sslContextFactory, org.eclipse.jetty.util.resource.ResourceFactory resourceFactory) throws Exception
      Configures trust store.
      Parameters:
      sslConfiguration - the SslConfiguration
      sslContextFactory - the SslContextFactory.Server
      resourceFactory - the ResourceFactory
      Throws:
      Exception
    • configureServletInitializer

      protected void configureServletInitializer(org.eclipse.jetty.server.Server server, org.eclipse.jetty.ee10.servlet.ServletContextHandler contextHandler, Collection<jakarta.servlet.ServletContainerInitializer> servletContainerInitializers)
      Configures the servlet initializer.
      Parameters:
      server - The server
      contextHandler - The context handler
      servletContainerInitializers - The servlet initializers
    • newJettyContext

      @NonNull protected @NonNull org.eclipse.jetty.ee10.servlet.ServletContextHandler newJettyContext(@NonNull @NonNull org.eclipse.jetty.server.Server server, @NonNull @NonNull String contextPath)
      Create the Jetty context.
      Parameters:
      server - The server
      contextPath - The context path
      Returns:
      The handler
    • configureConnectors

      protected void configureConnectors(@NonNull @NonNull org.eclipse.jetty.server.Server server, @NonNull @NonNull org.eclipse.jetty.server.ServerConnector http, @Nullable @Nullable org.eclipse.jetty.server.ServerConnector https)
      Configures the server connectors.
      Parameters:
      server - The server
      http - The HTTP connector
      https - The HTTPS connector if configured.
    • newServer

      @NonNull protected @NonNull org.eclipse.jetty.server.Server newServer(@NonNull @NonNull io.micronaut.context.ApplicationContext applicationContext, @NonNull @NonNull MicronautServletConfiguration configuration)
      Create a new server instance.
      Parameters:
      applicationContext - The application context
      configuration - The configuration
      Returns:
      The server