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 Details

    • JettyResourceFactory

      public JettyResourceFactory()
  • Method Details

    • 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.