Interface NettyServerBootstrapFactory

All Superinterfaces:
AutoCloseable, org.apache.camel.Service, org.apache.camel.SuspendableService
All Known Implementing Classes:
ClientModeTCPNettyServerBootstrapFactory, SingleTCPNettyServerBootstrapFactory, SingleUDPNettyServerBootstrapFactory

public interface NettyServerBootstrapFactory extends org.apache.camel.SuspendableService
Factory for setting up Netty ServerBootstrap and all the needed logic for doing that.

This factory allows for consumers to reuse existing ServerBootstrap which allows to share the same port for multiple consumers.

  • Method Details

    • init

      void init(org.apache.camel.CamelContext camelContext, NettyServerBootstrapConfiguration configuration, io.netty.channel.ChannelInitializer<io.netty.channel.Channel> pipelineFactory)
      Initializes this non-shared NettyServerBootstrapFactory.
      Parameters:
      camelContext - the CamelContext for non-shared bootstrap factory
      configuration - the bootstrap configuration
      pipelineFactory - the channel initializer which set up the channel handler pipeline
    • init

      void init(ThreadFactory threadFactory, NettyServerBootstrapConfiguration configuration, io.netty.channel.ChannelInitializer<io.netty.channel.Channel> pipelineFactory)
      Initializes this shared NettyServerBootstrapFactory.
      Parameters:
      threadFactory - the thread factory to use for shared bootstrap factory
      configuration - the bootstrap configuration
      pipelineFactory - the channel initializer which set up the channel handler pipeline
    • addChannel

      void addChannel(io.netty.channel.Channel channel)
      When a new Channel is opened.
    • removeChannel

      void removeChannel(io.netty.channel.Channel channel)
      When a Channel is closed.
    • addConsumer

      void addConsumer(NettyConsumer consumer)
      When a NettyConsumer is added and uses this bootstrap factory.
    • removeConsumer

      void removeConsumer(NettyConsumer consumer)
      When a NettyConsumer is removed and no longer using this bootstrap factory.