org.springframework.http.client.reactive

## Class JettyResourceFactory

- java.lang.Object
- - org.springframework.http.client.reactive.JettyResourceFactory

- All Implemented Interfaces:
    DisposableBean, InitializingBean

      public class JettyResourceFactory
      extends Object
      implements InitializingBean, DisposableBean

  Factory to manage Jetty resources, i.e. `Executor`, `ByteBufferPool` and `Scheduler`, within the lifecycle of a Spring `ApplicationContext`.

  This factory implements `InitializingBean` and `DisposableBean` and is expected typically to be declared as a Spring-managed bean.

  Since:
    5.1
  Author:
    Sebastien Deleuze

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JettyResourceFactory()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `afterPropertiesSet()` Invoked by the containing `BeanFactory` after it has set all bean properties and satisfied `BeanFactoryAware`, `ApplicationContextAware` etc.
    `void` | `destroy()` Invoked by the containing `BeanFactory` on destruction of a bean.
    `org.eclipse.jetty.io.ByteBufferPool` | `getByteBufferPool()` Return the configured `ByteBufferPool`.
    `Executor` | `getExecutor()` Return the configured `Executor`.
    `org.eclipse.jetty.util.thread.Scheduler` | `getScheduler()` Return the configured `Scheduler`.
    `void` | `setByteBufferPool(org.eclipse.jetty.io.ByteBufferPool byteBufferPool)` Configure the `ByteBufferPool` to use.
    `void` | `setExecutor(Executor executor)` Configure the `Executor` to use.
    `void` | `setScheduler(org.eclipse.jetty.util.thread.Scheduler scheduler)` Configure the `Scheduler` to use.
    `void` | `setThreadPrefix(String threadPrefix)` Configure the thread prefix to initialize `QueuedThreadPool` executor with.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JettyResourceFactory

          public JettyResourceFactory()

  - ### Method Detail

    - #### setExecutor

          public void setExecutor(@Nullable
                                  Executor executor)

      Configure the `Executor` to use.

      By default, initialized with a `QueuedThreadPool`.

      Parameters:
        `executor` - the executor to use

    - #### setByteBufferPool

          public void setByteBufferPool(@Nullable
                                        org.eclipse.jetty.io.ByteBufferPool byteBufferPool)

      Configure the `ByteBufferPool` to use.

      By default, initialized with a `MappedByteBufferPool`.

      Parameters:
        `byteBufferPool` - the `ByteBuffer` pool to use

    - #### setScheduler

          public void setScheduler(@Nullable
                                   org.eclipse.jetty.util.thread.Scheduler scheduler)

      Configure the `Scheduler` to use.

      By default, initialized with a `ScheduledExecutorScheduler`.

      Parameters:
        `scheduler` - the `Scheduler` to use

    - #### setThreadPrefix

          public void setThreadPrefix(String threadPrefix)

      Configure the thread prefix to initialize `QueuedThreadPool` executor with. This is used only when a `Executor` instance isn't `provided`.

      By default set to "jetty-http".

      Parameters:
        `threadPrefix` - the thread prefix to use

    - #### getExecutor

          @Nullable
          public Executor getExecutor()

      Return the configured `Executor`.

    - #### getByteBufferPool

          @Nullable
          public org.eclipse.jetty.io.ByteBufferPool getByteBufferPool()

      Return the configured `ByteBufferPool`.

    - #### getScheduler

          @Nullable
          public org.eclipse.jetty.util.thread.Scheduler getScheduler()

      Return the configured `Scheduler`.

    - #### afterPropertiesSet

          public void afterPropertiesSet()
                                  throws Exception

      Description copied from interface: `InitializingBean`
      Invoked by the containing `BeanFactory` after it has set all bean properties and satisfied `BeanFactoryAware`, `ApplicationContextAware` etc.

      This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.

      Specified by:
        `afterPropertiesSet` in interface `InitializingBean`
      Throws:
        `Exception` - in the event of misconfiguration (such as failure to set an essential property) or if initialization fails for any other reason

    - #### destroy

          public void destroy()
                       throws Exception

      Description copied from interface: `DisposableBean`
      Invoked by the containing `BeanFactory` on destruction of a bean.
      Specified by:
        `destroy` in interface `DisposableBean`
      Throws:
        `Exception` - in case of shutdown errors. Exceptions will get logged but not rethrown to allow other beans to release their resources as well.