Interface NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder

  • All Superinterfaces:
    org.apache.camel.builder.EndpointProducerBuilder, org.apache.camel.EndpointProducerResolver
    All Known Subinterfaces:
    NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointBuilder
    Enclosing interface:
    NettyHttpEndpointBuilderFactory

    public static interface NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder
    extends org.apache.camel.builder.EndpointProducerBuilder
    Advanced builder for endpoint producers for the Netty HTTP component.
    • Method Detail

      • clientInitializerFactory

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder clientInitializerFactory​(Object clientInitializerFactory)
        To use a custom ClientInitializerFactory. The option is a: <code>org.apache.camel.component.netty.ClientInitializerFactory</code> type. Group: producer (advanced)
        Parameters:
        clientInitializerFactory - the value to set
        Returns:
        the dsl builder
      • clientInitializerFactory

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder clientInitializerFactory​(String clientInitializerFactory)
        To use a custom ClientInitializerFactory. The option will be converted to a <code>org.apache.camel.component.netty.ClientInitializerFactory</code> type. Group: producer (advanced)
        Parameters:
        clientInitializerFactory - the value to set
        Returns:
        the dsl builder
      • lazyChannelCreation

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder lazyChannelCreation​(boolean lazyChannelCreation)
        Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started. The option is a: <code>boolean</code> type. Default: true Group: producer (advanced)
        Parameters:
        lazyChannelCreation - the value to set
        Returns:
        the dsl builder
      • lazyChannelCreation

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder lazyChannelCreation​(String lazyChannelCreation)
        Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started. The option will be converted to a <code>boolean</code> type. Default: true Group: producer (advanced)
        Parameters:
        lazyChannelCreation - the value to set
        Returns:
        the dsl builder
      • okStatusCodeRange

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder okStatusCodeRange​(String okStatusCodeRange)
        The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included. The default range is 200-299. The option is a: <code>java.lang.String</code> type. Default: 200-299 Group: producer (advanced)
        Parameters:
        okStatusCodeRange - the value to set
        Returns:
        the dsl builder
      • producerPoolEnabled

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder producerPoolEnabled​(boolean producerPoolEnabled)
        Whether producer pool is enabled or not. Important: If you turn this off then a single shared connection is used for the producer, also if you are doing request/reply. That means there is a potential issue with interleaved responses if replies comes back out-of-order. Therefore you need to have a correlation id in both the request and reply messages so you can properly correlate the replies to the Camel callback that is responsible for continue processing the message in Camel. To do this you need to implement NettyCamelStateCorrelationManager as correlation manager and configure it via the correlationManager option. See also the correlationManager option for more details. The option is a: <code>boolean</code> type. Default: true Group: producer (advanced)
        Parameters:
        producerPoolEnabled - the value to set
        Returns:
        the dsl builder
      • producerPoolEnabled

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder producerPoolEnabled​(String producerPoolEnabled)
        Whether producer pool is enabled or not. Important: If you turn this off then a single shared connection is used for the producer, also if you are doing request/reply. That means there is a potential issue with interleaved responses if replies comes back out-of-order. Therefore you need to have a correlation id in both the request and reply messages so you can properly correlate the replies to the Camel callback that is responsible for continue processing the message in Camel. To do this you need to implement NettyCamelStateCorrelationManager as correlation manager and configure it via the correlationManager option. See also the correlationManager option for more details. The option will be converted to a <code>boolean</code> type. Default: true Group: producer (advanced)
        Parameters:
        producerPoolEnabled - the value to set
        Returns:
        the dsl builder
      • producerPoolMaxIdle

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder producerPoolMaxIdle​(int producerPoolMaxIdle)
        Sets the cap on the number of idle instances in the pool. The option is a: <code>int</code> type. Default: 100 Group: producer (advanced)
        Parameters:
        producerPoolMaxIdle - the value to set
        Returns:
        the dsl builder
      • producerPoolMaxTotal

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder producerPoolMaxTotal​(int producerPoolMaxTotal)
        Sets the cap on the number of objects that can be allocated by the pool (checked out to clients, or idle awaiting checkout) at a given time. Use a negative value for no limit. The option is a: <code>int</code> type. Default: -1 Group: producer (advanced)
        Parameters:
        producerPoolMaxTotal - the value to set
        Returns:
        the dsl builder
      • producerPoolMaxTotal

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder producerPoolMaxTotal​(String producerPoolMaxTotal)
        Sets the cap on the number of objects that can be allocated by the pool (checked out to clients, or idle awaiting checkout) at a given time. Use a negative value for no limit. The option will be converted to a <code>int</code> type. Default: -1 Group: producer (advanced)
        Parameters:
        producerPoolMaxTotal - the value to set
        Returns:
        the dsl builder
      • producerPoolMinEvictableIdle

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder producerPoolMinEvictableIdle​(long producerPoolMinEvictableIdle)
        Sets the minimum amount of time (value in millis) an object may sit idle in the pool before it is eligible for eviction by the idle object evictor. The option is a: <code>long</code> type. Default: 300000 Group: producer (advanced)
        Parameters:
        producerPoolMinEvictableIdle - the value to set
        Returns:
        the dsl builder
      • producerPoolMinEvictableIdle

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder producerPoolMinEvictableIdle​(String producerPoolMinEvictableIdle)
        Sets the minimum amount of time (value in millis) an object may sit idle in the pool before it is eligible for eviction by the idle object evictor. The option will be converted to a <code>long</code> type. Default: 300000 Group: producer (advanced)
        Parameters:
        producerPoolMinEvictableIdle - the value to set
        Returns:
        the dsl builder
      • producerPoolMinIdle

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder producerPoolMinIdle​(int producerPoolMinIdle)
        Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects. The option is a: <code>int</code> type. Group: producer (advanced)
        Parameters:
        producerPoolMinIdle - the value to set
        Returns:
        the dsl builder
      • producerPoolMinIdle

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder producerPoolMinIdle​(String producerPoolMinIdle)
        Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects. The option will be converted to a <code>int</code> type. Group: producer (advanced)
        Parameters:
        producerPoolMinIdle - the value to set
        Returns:
        the dsl builder
      • allowSerializedHeaders

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder allowSerializedHeaders​(boolean allowSerializedHeaders)
        Only used for TCP when transferExchange is true. When set to true, serializable objects in headers and properties will be added to the exchange. Otherwise Camel will exclude any non-serializable objects and log it at WARN level. The option is a: <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        allowSerializedHeaders - the value to set
        Returns:
        the dsl builder
      • allowSerializedHeaders

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder allowSerializedHeaders​(String allowSerializedHeaders)
        Only used for TCP when transferExchange is true. When set to true, serializable objects in headers and properties will be added to the exchange. Otherwise Camel will exclude any non-serializable objects and log it at WARN level. The option will be converted to a <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        allowSerializedHeaders - the value to set
        Returns:
        the dsl builder
      • configuration

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder configuration​(Object configuration)
        To use a custom configured NettyHttpConfiguration for configuring this endpoint. The option is a: <code>org.apache.camel.component.netty.http.NettyHttpConfiguration</code> type. Group: advanced
        Parameters:
        configuration - the value to set
        Returns:
        the dsl builder
      • configuration

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder configuration​(String configuration)
        To use a custom configured NettyHttpConfiguration for configuring this endpoint. The option will be converted to a <code>org.apache.camel.component.netty.http.NettyHttpConfiguration</code> type. Group: advanced
        Parameters:
        configuration - the value to set
        Returns:
        the dsl builder
      • disableStreamCache

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder disableStreamCache​(boolean disableStreamCache)
        Determines whether or not the raw input stream from Netty HttpRequest#getContent() or HttpResponset#getContent() is cached or not (Camel will read the stream into a in light-weight memory based Stream caching) cache. By default Camel will cache the Netty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. Mind that if you enable this option, then you cannot read the Netty stream multiple times out of the box, and you would need manually to reset the reader index on the Netty raw stream. Also Netty will auto-close the Netty stream when the Netty HTTP server/HTTP client is done processing, which means that if the asynchronous routing engine is in use then any asynchronous thread that may continue routing the org.apache.camel.Exchange may not be able to read the Netty stream, because Netty has closed it. The option is a: <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        disableStreamCache - the value to set
        Returns:
        the dsl builder
      • disableStreamCache

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder disableStreamCache​(String disableStreamCache)
        Determines whether or not the raw input stream from Netty HttpRequest#getContent() or HttpResponset#getContent() is cached or not (Camel will read the stream into a in light-weight memory based Stream caching) cache. By default Camel will cache the Netty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. Mind that if you enable this option, then you cannot read the Netty stream multiple times out of the box, and you would need manually to reset the reader index on the Netty raw stream. Also Netty will auto-close the Netty stream when the Netty HTTP server/HTTP client is done processing, which means that if the asynchronous routing engine is in use then any asynchronous thread that may continue routing the org.apache.camel.Exchange may not be able to read the Netty stream, because Netty has closed it. The option will be converted to a <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        disableStreamCache - the value to set
        Returns:
        the dsl builder
      • headerFilterStrategy

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder headerFilterStrategy​(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy)
        To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers. The option is a: <code>org.apache.camel.spi.HeaderFilterStrategy</code> type. Group: advanced
        Parameters:
        headerFilterStrategy - the value to set
        Returns:
        the dsl builder
      • headerFilterStrategy

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder headerFilterStrategy​(String headerFilterStrategy)
        To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers. The option will be converted to a <code>org.apache.camel.spi.HeaderFilterStrategy</code> type. Group: advanced
        Parameters:
        headerFilterStrategy - the value to set
        Returns:
        the dsl builder
      • nativeTransport

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder nativeTransport​(boolean nativeTransport)
        Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html. The option is a: <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        nativeTransport - the value to set
        Returns:
        the dsl builder
      • nativeTransport

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder nativeTransport​(String nativeTransport)
        Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html. The option will be converted to a <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        nativeTransport - the value to set
        Returns:
        the dsl builder
      • nettyHttpBinding

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder nettyHttpBinding​(Object nettyHttpBinding)
        To use a custom org.apache.camel.component.netty.http.NettyHttpBinding for binding to/from Netty and Camel Message API. The option is a: <code>org.apache.camel.component.netty.http.NettyHttpBinding</code> type. Group: advanced
        Parameters:
        nettyHttpBinding - the value to set
        Returns:
        the dsl builder
      • nettyHttpBinding

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder nettyHttpBinding​(String nettyHttpBinding)
        To use a custom org.apache.camel.component.netty.http.NettyHttpBinding for binding to/from Netty and Camel Message API. The option will be converted to a <code>org.apache.camel.component.netty.http.NettyHttpBinding</code> type. Group: advanced
        Parameters:
        nettyHttpBinding - the value to set
        Returns:
        the dsl builder
      • options

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder options​(String key,
                                                                                                 Object value)
        Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used. The option is a: <code>java.util.Map&lt;java.lang.String, java.lang.Object&gt;</code> type. The option is multivalued, and you can use the options(String, Object) method to add a value (call the method multiple times to set more values). Group: advanced
        Parameters:
        key - the option key
        value - the option value
        Returns:
        the dsl builder
      • options

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder options​(Map values)
        Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used. The option is a: <code>java.util.Map&lt;java.lang.String, java.lang.Object&gt;</code> type. The option is multivalued, and you can use the options(String, Object) method to add a value (call the method multiple times to set more values). Group: advanced
        Parameters:
        values - the values
        Returns:
        the dsl builder
      • receiveBufferSize

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder receiveBufferSize​(int receiveBufferSize)
        The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes. The option is a: <code>int</code> type. Default: 65536 Group: advanced
        Parameters:
        receiveBufferSize - the value to set
        Returns:
        the dsl builder
      • receiveBufferSize

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder receiveBufferSize​(String receiveBufferSize)
        The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes. The option will be converted to a <code>int</code> type. Default: 65536 Group: advanced
        Parameters:
        receiveBufferSize - the value to set
        Returns:
        the dsl builder
      • receiveBufferSizePredictor

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder receiveBufferSizePredictor​(int receiveBufferSizePredictor)
        Configures the buffer size predictor. See details at Jetty documentation and this mail thread. The option is a: <code>int</code> type. Group: advanced
        Parameters:
        receiveBufferSizePredictor - the value to set
        Returns:
        the dsl builder
      • receiveBufferSizePredictor

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder receiveBufferSizePredictor​(String receiveBufferSizePredictor)
        Configures the buffer size predictor. See details at Jetty documentation and this mail thread. The option will be converted to a <code>int</code> type. Group: advanced
        Parameters:
        receiveBufferSizePredictor - the value to set
        Returns:
        the dsl builder
      • sendBufferSize

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder sendBufferSize​(int sendBufferSize)
        The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes. The option is a: <code>int</code> type. Default: 65536 Group: advanced
        Parameters:
        sendBufferSize - the value to set
        Returns:
        the dsl builder
      • transferException

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder transferException​(boolean transferException)
        If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. The option is a: <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        transferException - the value to set
        Returns:
        the dsl builder
      • transferException

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder transferException​(String transferException)
        If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. The option will be converted to a <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        transferException - the value to set
        Returns:
        the dsl builder
      • transferExchange

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder transferExchange​(boolean transferExchange)
        Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body, Out body, fault body, In headers, Out headers, fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. The option is a: <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        transferExchange - the value to set
        Returns:
        the dsl builder
      • transferExchange

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder transferExchange​(String transferExchange)
        Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body, Out body, fault body, In headers, Out headers, fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. The option will be converted to a <code>boolean</code> type. Default: false Group: advanced
        Parameters:
        transferExchange - the value to set
        Returns:
        the dsl builder
      • workerCount

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder workerCount​(int workerCount)
        When netty works on nio mode, it uses default workerCount parameter from Netty (which is cpu_core_threads x 2). User can use this option to override the default workerCount from Netty. The option is a: <code>int</code> type. Group: advanced
        Parameters:
        workerCount - the value to set
        Returns:
        the dsl builder
      • workerCount

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder workerCount​(String workerCount)
        When netty works on nio mode, it uses default workerCount parameter from Netty (which is cpu_core_threads x 2). User can use this option to override the default workerCount from Netty. The option will be converted to a <code>int</code> type. Group: advanced
        Parameters:
        workerCount - the value to set
        Returns:
        the dsl builder
      • workerGroup

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder workerGroup​(Object workerGroup)
        To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers or producers. By default each consumer or producer has their own worker pool with 2 x cpu count core threads. The option is a: <code>io.netty.channel.EventLoopGroup</code> type. Group: advanced
        Parameters:
        workerGroup - the value to set
        Returns:
        the dsl builder
      • workerGroup

        default NettyHttpEndpointBuilderFactory.AdvancedNettyHttpEndpointProducerBuilder workerGroup​(String workerGroup)
        To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers or producers. By default each consumer or producer has their own worker pool with 2 x cpu count core threads. The option will be converted to a <code>io.netty.channel.EventLoopGroup</code> type. Group: advanced
        Parameters:
        workerGroup - the value to set
        Returns:
        the dsl builder