This is an automated email from the ASF dual-hosted git repository. janbednar pushed a commit to branch CAMEL-13853 in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4d12fdcb9d090e5e23ab028b7e0e11b03872c803 Merge: 43b594c fdd8fc5 Author: Jan Bednář <m...@janbednar.eu> AuthorDate: Sat Aug 17 13:54:28 2019 +0200 Merge branch 'master' of https://github.com/apache/camel into CAMEL-13853 # Conflicts: # components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpGetWithInvalidMessageTest.java MIGRATION.md | 3 + .../org/apache/camel/catalog/CamelCatalogTest.java | 10 +- .../src/main/docs/activemq-component.adoc | 6 +- .../src/main/docs/ahc-ws-component.adoc | 15 +- .../camel-ahc/src/main/docs/ahc-component.adoc | 16 +- .../camel-amqp/src/main/docs/amqp-component.adoc | 12 +- components/camel-apns/pom.xml | 1 - .../camel-apns/src/main/docs/apns-component.adoc | 13 +- .../src/main/docs/as2-component.adoc | 6 +- .../src/main/docs/asterisk-component.adoc | 6 +- .../camel-atmos/src/main/docs/atmos-component.adoc | 12 +- .../camel/component/atmos/AtmosConsumerTest.java | 4 +- .../main/docs/atmosphere-websocket-component.adoc | 16 +- .../camel-atom/src/main/docs/atom-component.adoc | 14 +- .../src/main/docs/atomix-map-component.adoc | 6 +- .../src/main/docs/atomix-messaging-component.adoc | 6 +- .../src/main/docs/atomix-multimap-component.adoc | 6 +- .../src/main/docs/atomix-queue-component.adoc | 6 +- .../src/main/docs/atomix-set-component.adoc | 6 +- .../src/main/docs/atomix-value-component.adoc | 6 +- .../camel-avro/src/main/docs/avro-component.adoc | 6 +- .../camel-avro/src/main/docs/avro-dataformat.adoc | 3 +- .../src/main/docs/aws-cw-component.adoc | 14 +- .../src/main/docs/aws-ddb-component.adoc | 14 +- .../src/main/docs/aws-ddbstream-component.adoc | 15 +- .../src/main/docs/aws-ec2-component.adoc | 14 +- .../src/main/docs/aws-ecs-component.adoc | 14 +- .../src/main/docs/aws-eks-component.adoc | 14 +- .../src/main/docs/aws-iam-component.adoc | 14 +- .../src/main/docs/aws-kinesis-component.adoc | 14 +- .../main/docs/aws-kinesis-firehose-component.adoc | 14 +- .../src/main/docs/aws-kms-component.adoc | 14 +- .../src/main/docs/aws-lambda-component.adoc | 14 +- .../src/main/docs/aws-mq-component.adoc | 14 +- .../src/main/docs/aws-msk-component.adoc | 14 +- .../src/main/docs/aws-s3-component.adoc | 14 +- .../src/main/docs/aws-sdb-component.adoc | 14 +- .../src/main/docs/aws-ses-component.adoc | 14 +- .../src/main/docs/aws-sns-component.adoc | 14 +- .../src/main/docs/aws-sqs-component.adoc | 14 +- .../src/main/docs/aws-swf-component.adoc | 14 +- .../src/main/docs/azure-blob-component.adoc | 14 +- .../src/main/docs/azure-queue-component.adoc | 14 +- .../src/main/docs/bean-validator-component.adoc | 12 +- .../camel-bean/src/main/docs/bean-component.adoc | 3 +- .../camel-bean/src/main/docs/class-component.adoc | 13 +- .../src/main/docs/beanstalk-component.adoc | 12 +- .../src/main/docs/bonita-component.adoc | 6 +- .../src/main/docs/box-component.adoc | 6 +- .../src/main/docs/braintree-component.adoc | 12 +- .../src/main/docs/browse-component.adoc | 12 +- .../src/main/docs/caffeine-cache-component.adoc | 6 +- .../main/docs/caffeine-loadcache-component.adoc | 6 +- .../src/main/docs/cql-component.adoc | 6 +- components/camel-cdi/src/main/docs/cdi.adoc | 9 - components/camel-chatscript/pom.xml | 1 - .../src/main/docs/chatscript-component.adoc | 6 +- .../camel-chunk/src/main/docs/chunk-component.adoc | 12 +- .../src/main/docs/cm-sms-component.adoc | 6 +- .../camel-cmis/src/main/docs/cmis-component.adoc | 12 +- .../camel-coap/src/main/docs/coap-component.adoc | 6 +- .../src/main/docs/cometd-component.adoc | 12 +- .../src/main/docs/consul-component.adoc | 6 +- .../src/main/docs/controlbus-component.adoc | 6 +- .../camel-corda/src/main/docs/corda-component.adoc | 6 +- .../src/main/docs/couchbase-component.adoc | 6 +- .../src/main/docs/couchdb-component.adoc | 6 +- .../src/main/docs/crypto-cms-component.adoc | 6 +- .../src/main/docs/crypto-component.adoc | 12 +- .../src/main/docs/crypto-dataformat.adoc | 8 +- .../camel-crypto/src/main/docs/pgp-dataformat.adoc | 5 - .../camel-cxf/src/main/docs/cxf-component.adoc | 12 +- .../camel-cxf/src/main/docs/cxfrs-component.adoc | 6 +- .../src/main/docs/dataformat-component.adoc | 6 +- .../src/main/docs/dataset-component.adoc | 6 +- .../src/main/docs/dataset-test-component.adoc | 9 +- .../src/main/docs/digitalocean-component.adoc | 6 +- .../src/main/docs/direct-component.adoc | 10 +- .../src/main/docs/direct-vm-component.adoc | 8 +- .../src/main/docs/disruptor-component.adoc | 7 +- .../camel-dns/src/main/docs/dns-component.adoc | 6 +- .../src/main/docs/docker-component.adoc | 6 +- .../camel-dozer/src/main/docs/dozer-component.adoc | 6 +- .../camel-drill/src/main/docs/drill-component.adoc | 12 +- .../src/main/docs/dropbox-component.adoc | 6 +- .../src/main/docs/ehcache-component.adoc | 6 +- components/camel-elasticsearch-rest/pom.xml | 1 - .../main/docs/elasticsearch-rest-component.adoc | 6 +- .../camel-elsql/src/main/docs/elsql-component.adoc | 6 +- .../camel-etcd/src/main/docs/etcd-component.adoc | 6 +- .../src/main/docs/eventadmin-component.adoc | 3 +- .../camel-exec/src/main/docs/exec-component.adoc | 12 +- .../src/main/docs/facebook-component.adoc | 6 +- .../src/main/docs/fhir-component.adoc | 6 +- .../src/main/docs/file-watch-component.adoc | 6 +- .../camel-file/src/main/docs/file-component.adoc | 11 +- .../src/main/docs/flatpack-component.adoc | 12 +- .../src/main/docs/flatpack-dataformat.adoc | 3 +- .../camel-flink/src/main/docs/flink-component.adoc | 12 +- .../camel-fop/src/main/docs/fop-component.adoc | 12 +- .../src/main/docs/freemarker-component.adoc | 12 +- .../camel-ftp/src/main/docs/ftp-component.adoc | 14 +- .../camel-ftp/src/main/docs/ftps-component.adoc | 6 +- .../camel-ftp/src/main/docs/sftp-component.adoc | 3 +- .../src/main/docs/ganglia-component.adoc | 6 +- .../src/main/docs/geocoder-component.adoc | 6 +- .../camel-git/src/main/docs/git-component.adoc | 6 +- .../src/main/docs/github-component.adoc | 6 +- .../src/main/docs/google-bigquery-component.adoc | 6 +- .../main/docs/google-bigquery-sql-component.adoc | 6 +- .../src/main/docs/google-calendar-component.adoc | 6 +- .../docs/google-calendar-stream-component.adoc | 6 +- .../src/main/docs/google-drive-component.adoc | 6 +- .../src/main/docs/google-mail-component.adoc | 6 +- .../main/docs/google-mail-stream-component.adoc | 6 +- .../src/main/docs/google-pubsub-component.adoc | 6 +- .../src/main/docs/google-sheets-component.adoc | 6 +- .../main/docs/google-sheets-stream-component.adoc | 6 +- .../camel-gora/src/main/docs/gora-component.adoc | 6 +- .../camel-grape/src/main/docs/grape-component.adoc | 9 +- .../camel-grpc/src/main/docs/grpc-component.adoc | 13 +- .../src/main/docs/guava-eventbus-component.adoc | 6 +- .../main/docs/hazelcast-atomicvalue-component.adoc | 6 +- .../main/docs/hazelcast-instance-component.adoc | 6 +- .../src/main/docs/hazelcast-list-component.adoc | 6 +- .../src/main/docs/hazelcast-map-component.adoc | 6 +- .../main/docs/hazelcast-multimap-component.adoc | 6 +- .../src/main/docs/hazelcast-queue-component.adoc | 6 +- .../docs/hazelcast-replicatedmap-component.adoc | 6 +- .../main/docs/hazelcast-ringbuffer-component.adoc | 6 +- .../src/main/docs/hazelcast-seda-component.adoc | 6 +- .../src/main/docs/hazelcast-set-component.adoc | 6 +- .../src/main/docs/hazelcast-topic-component.adoc | 6 +- .../camel-hbase/src/main/docs/hbase-component.adoc | 10 +- .../camel-hdfs/src/main/docs/hdfs-component.adoc | 6 +- .../src/main/docs/hipchat-component.adoc | 6 +- .../camel-hl7/src/main/docs/hl7-dataformat.adoc | 2 +- .../HL7MLLPConfigAwareChannelHandlerFactory.java | 2 +- .../camel/component/hl7/HL7MLLPNettyDecoder.java | 2 +- .../camel/component/hl7/HL7MLLPNettyEncoder.java | 2 +- .../camel-http/src/main/docs/http-component.adoc | 6 +- .../camel-ical/src/main/docs/ical-dataformat.adoc | 6 - .../src/main/docs/iec60870-client-component.adoc | 6 +- .../src/main/docs/iec60870-server-component.adoc | 6 +- .../src/main/docs/ignite-cache-component.adoc | 6 +- .../src/main/docs/ignite-compute-component.adoc | 6 +- .../src/main/docs/ignite-events-component.adoc | 6 +- .../src/main/docs/ignite-idgen-component.adoc | 6 +- .../src/main/docs/ignite-messaging-component.adoc | 6 +- .../src/main/docs/ignite-queue-component.adoc | 6 +- .../src/main/docs/ignite-set-component.adoc | 6 +- components/camel-ignite/src/main/docs/ignite.adoc | 6 - .../src/main/docs/infinispan-component.adoc | 12 +- .../src/main/docs/influxdb-component.adoc | 12 +- .../camel-iota/src/main/docs/iota-component.adoc | 10 +- .../camel-ipfs/src/main/docs/ipfs-component.adoc | 6 +- .../camel-irc/src/main/docs/irc-component.adoc | 12 +- .../src/main/docs/ironmq-component.adoc | 6 +- components/camel-jasypt/src/main/docs/jasypt.adoc | 7 - .../camel-jbpm/src/main/docs/jbpm-component.adoc | 14 +- .../src/main/docs/jcache-component.adoc | 6 +- .../src/main/docs/jclouds-component.adoc | 16 +- .../camel-jcr/src/main/docs/jcr-component.adoc | 12 +- .../camel-jdbc/src/main/docs/jdbc-component.adoc | 6 +- .../camel-jetty/src/main/docs/jetty-component.adoc | 6 +- .../src/main/docs/jgroups-raft-component.adoc | 6 +- .../src/main/docs/jgroups-component.adoc | 6 +- .../camel-jing/src/main/docs/jing-component.adoc | 12 +- .../camel-jira/src/main/docs/jira-component.adoc | 6 +- .../camel-jms/src/main/docs/jms-component.adoc | 9 +- .../apache/camel/component/jms/JmsEndpoint.java | 6 +- .../jms/JmsEndpointConfigurationTest.java | 38 + .../camel-jmx/src/main/docs/jmx-component.adoc | 6 +- .../camel-jolt/src/main/docs/jolt-component.adoc | 12 +- .../camel-jooq/src/main/docs/jooq-component.adoc | 6 +- .../camel-jpa/src/main/docs/jpa-component.adoc | 16 +- .../camel-jsch/src/main/docs/scp-component.adoc | 12 +- .../src/main/docs/json-validator-component.adoc | 6 +- .../camel-jt400/src/main/docs/jt400-component.adoc | 12 +- .../camel-kafka/src/main/docs/kafka-component.adoc | 6 +- .../docs/kubernetes-config-maps-component.adoc | 6 +- .../docs/kubernetes-deployments-component.adoc | 6 +- .../src/main/docs/kubernetes-hpa-component.adoc | 6 +- .../src/main/docs/kubernetes-job-component.adoc | 6 +- .../main/docs/kubernetes-namespaces-component.adoc | 6 +- .../src/main/docs/kubernetes-nodes-component.adoc | 6 +- ...rnetes-persistent-volumes-claims-component.adoc | 6 +- .../kubernetes-persistent-volumes-component.adoc | 6 +- .../src/main/docs/kubernetes-pods-component.adoc | 6 +- ...bernetes-replication-controllers-component.adoc | 6 +- .../docs/kubernetes-resources-quota-component.adoc | 6 +- .../main/docs/kubernetes-secrets-component.adoc | 6 +- .../kubernetes-service-accounts-component.adoc | 6 +- .../main/docs/kubernetes-services-component.adoc | 6 +- .../docs/openshift-build-configs-component.adoc | 3 +- .../src/main/docs/openshift-builds-component.adoc | 3 +- components/camel-kura/src/main/docs/kura.adoc | 8 - .../src/main/docs/language-component.adoc | 6 +- .../camel-ldap/src/main/docs/ldap-component.adoc | 12 +- .../camel-ldif/src/main/docs/ldif-component.adoc | 6 +- .../camel-leveldb/src/main/docs/leveldb.adoc | 12 - .../src/main/docs/linkedin-component.adoc | 6 +- .../camel-log/src/main/docs/log-component.adoc | 10 +- .../src/main/docs/lucene-component.adoc | 6 +- .../src/main/docs/lumberjack-component.adoc | 6 +- .../camel-mail/src/main/docs/mail-component.adoc | 12 +- .../src/main/docs/master-component.adoc | 12 +- .../src/main/docs/metrics-component.adoc | 10 +- .../src/main/docs/micrometer-component.adoc | 6 +- .../CamelMicroProfilePropertiesSourceTest.java | 2 +- .../src/main/docs/milo-client-component.adoc | 12 +- .../src/main/docs/milo-server-component.adoc | 17 +- components/camel-mina/pom.xml | 4 +- .../camel-mina/src/main/docs/mina-component.adoc | 33 +- .../apache/camel/component/mina/MinaComponent.java | 136 ++ .../camel/component/mina/MinaConfiguration.java | 416 +++++ .../apache/camel/component/mina/MinaConstants.java | 35 + .../apache/camel/component/mina/MinaConsumer.java | 461 +++++ .../apache/camel/component/mina/MinaConverter.java | 70 + .../apache/camel/component/mina/MinaEndpoint.java | 86 + .../apache/camel/component/mina/MinaHelper.java | 62 + .../camel/component/mina/MinaPayloadHelper.java | 73 + .../apache/camel/component/mina/MinaProducer.java | 536 ++++++ .../component/mina/MinaTextLineCodecFactory.java | 74 + .../component/mina/MinaTextLineDelimiter.java | 41 + .../mina/MinaUdpProtocolCodecFactory.java | 88 + .../camel/component/mina2/Mina2Component.java | 136 -- .../camel/component/mina2/Mina2Configuration.java | 416 ----- .../camel/component/mina2/Mina2Constants.java | 35 - .../camel/component/mina2/Mina2Consumer.java | 461 ----- .../camel/component/mina2/Mina2Converter.java | 70 - .../camel/component/mina2/Mina2Endpoint.java | 86 - .../apache/camel/component/mina2/Mina2Helper.java | 62 - .../camel/component/mina2/Mina2PayloadHelper.java | 73 - .../camel/component/mina2/Mina2Producer.java | 536 ------ .../component/mina2/Mina2TextLineCodecFactory.java | 74 - .../component/mina2/Mina2TextLineDelimiter.java | 41 - .../mina2/Mina2UdpProtocolCodecFactory.java | 88 - .../apache/camel/component/mina/BaseMinaTest.java | 79 + .../camel/component/mina/MessageIOSessionTest.java | 72 + .../MinaClientModeTcpTextlineDelimiterTest.java | 94 + .../camel/component/mina/MinaClientServerTest.java | 61 + .../camel/component/mina/MinaComponentTest.java | 50 + .../mina/MinaComponentWithConfigurationTest.java | 52 + .../camel/component/mina/MinaConsumerTest.java | 77 + .../camel/component/mina/MinaConverterTest.java | 96 + .../camel/component/mina/MinaCustomCodecTest.java | 176 ++ .../mina/MinaDisconnectRaceConditionTest.java | 70 + .../camel/component/mina/MinaDisconnectTest.java | 50 + .../camel/component/mina/MinaEncodingTest.java | 200 ++ .../mina/MinaExchangeDefaultTimeOutTest.java | 59 + .../component/mina/MinaExchangeTimeOutTest.java | 68 + .../camel/component/mina/MinaFileTcpTest.java | 47 + .../camel/component/mina/MinaFileUdpTest.java | 47 + .../camel/component/mina/MinaFiltersTest.java | 107 ++ .../camel/component/mina/MinaInOnlyRouteTest.java | 60 + .../MinaInOutCloseSessionWhenCompleteTest.java | 51 + .../camel/component/mina/MinaInOutRouteTest.java | 62 + .../mina/MinaInOutRouteTextLineDelimiterTest.java | 59 + .../mina/MinaInOutWithForcedNoResponseTest.java | 73 + .../component/mina/MinaMaxLineLengthTest.java | 67 + .../component/mina/MinaNoDefaultCodecTest.java | 55 + .../mina/MinaNoResponseFromServerTest.java | 104 ++ .../mina/MinaProducerAnotherConcurrentTest.java | 95 + .../component/mina/MinaProducerConcurrentTest.java | 91 + .../mina/MinaProducerShutdownMockTest.java | 82 + .../component/mina/MinaProducerShutdownTest.java | 94 + .../component/mina/MinaReverseProtocolHandler.java | 54 + .../camel/component/mina/MinaReverserServer.java | 60 + .../component/mina/MinaSendToProcessorTest.java | 64 + .../component/mina/MinaSpringMinaEndpointTest.java | 48 + .../mina/MinaSpringMinaEndpointUDPTest.java | 43 + .../component/mina/MinaSpringMultipleUDPTest.java | 50 + .../mina/MinaSslContextParametersTcpTest.java | 52 + .../mina/MinaSslContextParametersUdpTest.java | 75 + .../mina/MinaSslContextParametersVmTest.java | 52 + .../MinaSslGlobalContextParametersTcpTest.java | 62 + .../MinaTcpLineDelimiterUsingPlainSocketTest.java | 144 ++ .../apache/camel/component/mina/MinaTcpTest.java | 56 + .../mina/MinaTcpTextlineDelimiterTest.java | 48 + .../mina/MinaTcpTextlineProtocolTest.java | 48 + .../camel/component/mina/MinaTcpWithInOutTest.java | 130 ++ .../mina/MinaTcpWithInOutUsingPlainSocketTest.java | 154 ++ .../MinaTcpWithIoOutProcessorExceptionTest.java | 57 + .../mina/MinaTransferExchangeOptionTest.java | 134 ++ .../component/mina/MinaUdpConcurrentTest.java | 72 + .../camel/component/mina/MinaUdpNoCamelTest.java | 174 ++ .../apache/camel/component/mina/MinaUdpTest.java | 69 + .../component/mina/MinaUdpUsingTemplateTest.java | 111 ++ .../mina/MinaUdpWithInOutUsingPlainSocketTest.java | 81 + .../component/mina/MinaVMCustomCodecTest.java | 132 ++ .../camel/component/mina/MinaVMFileTcpTest.java | 47 + .../component/mina/MinaVMTextlineProtocolTest.java | 47 + .../mina/MinaVMTransferExchangeOptionTest.java | 120 ++ .../apache/camel/component/mina/MinaVmTest.java | 45 + .../camel/component/mina2/BaseMina2Test.java | 79 - .../component/mina2/MessageIOSessionTest.java | 72 - .../Mina2ClientModeTcpTextlineDelimiterTest.java | 94 - .../component/mina2/Mina2ClientServerTest.java | 61 - .../camel/component/mina2/Mina2ComponentTest.java | 50 - .../mina2/Mina2ComponentWithConfigurationTest.java | 52 - .../camel/component/mina2/Mina2ConsumerTest.java | 77 - .../camel/component/mina2/Mina2ConverterTest.java | 96 - .../component/mina2/Mina2CustomCodecTest.java | 176 -- .../mina2/Mina2DisconnectRaceConditionTest.java | 70 - .../camel/component/mina2/Mina2DisconnectTest.java | 50 - .../camel/component/mina2/Mina2EncodingTest.java | 201 -- .../mina2/Mina2ExchangeDefaultTimeOutTest.java | 59 - .../component/mina2/Mina2ExchangeTimeOutTest.java | 68 - .../camel/component/mina2/Mina2FileTcpTest.java | 47 - .../camel/component/mina2/Mina2FileUdpTest.java | 47 - .../camel/component/mina2/Mina2FiltersTest.java | 107 -- .../component/mina2/Mina2InOnlyRouteTest.java | 60 - .../Mina2InOutCloseSessionWhenCompleteTest.java | 51 - .../camel/component/mina2/Mina2InOutRouteTest.java | 62 - .../Mina2InOutRouteTextLineDelimiterTest.java | 59 - .../mina2/Mina2InOutWithForcedNoResponseTest.java | 73 - .../component/mina2/Mina2MaxLineLengthTest.java | 67 - .../component/mina2/Mina2NoDefaultCodecTest.java | 55 - .../mina2/Mina2NoResponseFromServerTest.java | 104 -- .../mina2/Mina2ProducerAnotherConcurrentTest.java | 95 - .../mina2/Mina2ProducerConcurrentTest.java | 91 - .../mina2/Mina2ProducerShutdownMockTest.java | 82 - .../component/mina2/Mina2ProducerShutdownTest.java | 94 - .../mina2/Mina2ReverseProtocolHandler.java | 54 - .../camel/component/mina2/Mina2ReverserServer.java | 60 - .../component/mina2/Mina2SendToProcessorTest.java | 64 - .../mina2/Mina2SpringMinaEndpointTest.java | 48 - .../mina2/Mina2SpringMinaEndpointUDPTest.java | 43 - .../mina2/Mina2SpringMultipleUDPTest.java | 50 - .../mina2/Mina2SslContextParametersTcpTest.java | 52 - .../mina2/Mina2SslContextParametersUdpTest.java | 75 - .../mina2/Mina2SslContextParametersVmTest.java | 52 - .../Mina2SslGlobalContextParametersTcpTest.java | 62 - .../Mina2TcpLineDelimiterUsingPlainSocketTest.java | 144 -- .../apache/camel/component/mina2/Mina2TcpTest.java | 56 - .../mina2/Mina2TcpTextlineDelimiterTest.java | 48 - .../mina2/Mina2TcpTextlineProtocolTest.java | 48 - .../component/mina2/Mina2TcpWithInOutTest.java | 130 -- .../Mina2TcpWithInOutUsingPlainSocketTest.java | 154 -- .../Mina2TcpWithIoOutProcessorExceptionTest.java | 57 - .../mina2/Mina2TransferExchangeOptionTest.java | 134 -- .../component/mina2/Mina2UdpConcurrentTest.java | 72 - .../camel/component/mina2/Mina2UdpNoCamelTest.java | 174 -- .../apache/camel/component/mina2/Mina2UdpTest.java | 69 - .../component/mina2/Mina2UdpUsingTemplateTest.java | 111 -- .../Mina2UdpWithInOutUsingPlainSocketTest.java | 81 - .../component/mina2/Mina2VMCustomCodecTest.java | 132 -- .../camel/component/mina2/Mina2VMFileTcpTest.java | 47 - .../mina2/Mina2VMTextlineProtocolTest.java | 47 - .../mina2/Mina2VMTransferExchangeOptionTest.java | 120 -- .../apache/camel/component/mina2/Mina2VmTest.java | 45 - .../mina/SpringMinaEndpointTest-context.xml | 65 + .../mina/SpringMinaEndpointUDPTest-context.xml | 63 + .../mina/SpringMultipleUDPTest-context.xml | 66 + .../mina2/SpringMinaEndpointTest-context.xml | 65 - .../mina2/SpringMinaEndpointUDPTest-context.xml | 63 - .../mina2/SpringMultipleUDPTest-context.xml | 66 - components/camel-mllp/README.md | 4 +- .../camel-mllp/src/main/docs/mllp-component.adoc | 6 +- .../camel-mock/src/main/docs/mock-component.adoc | 7 +- .../src/main/docs/mongodb-gridfs-component.adoc | 6 +- .../src/main/docs/mongodb-component.adoc | 15 +- .../component/mongodb/CamelMongoDbException.java | 35 + .../mongodb/MongoAbstractConsumerThread.java | 111 ++ .../mongodb/MongoDbChangeStreamsConsumer.java | 71 + .../mongodb/MongoDbChangeStreamsThread.java | 94 + .../camel/component/mongodb/MongoDbComponent.java | 96 + .../camel/component/mongodb/MongoDbConstants.java | 50 + .../component/mongodb/MongoDbConsumerType.java | 24 + .../camel/component/mongodb/MongoDbEndpoint.java | 662 +++++++ .../camel/component/mongodb/MongoDbOperation.java | 49 + .../camel/component/mongodb/MongoDbOutputType.java | 23 + .../camel/component/mongodb/MongoDbProducer.java | 635 +++++++ .../mongodb/MongoDbTailTrackingConfig.java | 58 + .../mongodb/MongoDbTailTrackingManager.java | 102 ++ .../mongodb/MongoDbTailableCursorConsumer.java | 64 + .../component/mongodb/MongoDbTailingThread.java | 144 ++ .../mongodb/converters/MongoDbBasicConverters.java | 133 ++ .../converters/MongoDbFallbackConverter.java | 101 + .../idempotent/MongoDbIdempotentRepository.java | 132 ++ .../component/mongodb3/CamelMongoDbException.java | 35 - .../mongodb3/MongoAbstractConsumerThread.java | 111 -- .../mongodb3/MongoDbChangeStreamsConsumer.java | 71 - .../mongodb3/MongoDbChangeStreamsThread.java | 94 - .../camel/component/mongodb3/MongoDbComponent.java | 96 - .../camel/component/mongodb3/MongoDbConstants.java | 50 - .../component/mongodb3/MongoDbConsumerType.java | 24 - .../camel/component/mongodb3/MongoDbEndpoint.java | 662 ------- .../camel/component/mongodb3/MongoDbOperation.java | 49 - .../component/mongodb3/MongoDbOutputType.java | 23 - .../camel/component/mongodb3/MongoDbProducer.java | 635 ------- .../mongodb3/MongoDbTailTrackingConfig.java | 58 - .../mongodb3/MongoDbTailTrackingManager.java | 102 -- .../mongodb3/MongoDbTailableCursorConsumer.java | 64 - .../component/mongodb3/MongoDbTailingThread.java | 144 -- .../converters/MongoDbBasicConverters.java | 133 -- .../converters/MongoDbFallbackConverter.java | 101 - .../idempotent/MongoDbIdempotentRepository.java | 132 -- .../component/mongodb/AbstractMongoDbTest.java | 112 ++ .../component/mongodb/EmbedMongoConfiguration.java | 108 ++ .../mongodb/MongoBasicOperationsConfiguration.java | 27 + .../mongodb/MongoDbAggregateOperationTest.java | 121 ++ .../mongodb/MongoDbBigDecimalConverterTest.java | 61 + .../mongodb/MongoDbBulkWriteOperationTest.java | 121 ++ .../mongodb/MongoDbChangeStreamsConsumerTest.java | 113 ++ .../mongodb/MongoDbConnectionBeansTest.java | 79 + .../component/mongodb/MongoDbConversionsTest.java | 128 ++ .../component/mongodb/MongoDbDynamicityTest.java | 147 ++ .../mongodb/MongoDbExceptionHandlingTest.java | 93 + .../mongodb/MongoDbFindOperationTest.java | 296 +++ .../mongodb/MongoDbHeaderHandlingTest.java | 127 ++ .../camel/component/mongodb/MongoDbIndexTest.java | 202 ++ .../component/mongodb/MongoDbOperationsTest.java | 397 ++++ .../component/mongodb/MongoDbOutputTypeTest.java | 134 ++ .../mongodb/MongoDbReadPreferenceOptionTest.java | 88 + .../mongodb/MongoDbSpringDslOperationsTest.java | 45 + .../component/mongodb/MongoDbStopEndpointTest.java | 56 + .../mongodb/MongoDbTailableCursorConsumerTest.java | 434 +++++ .../MongoDbIdempotentRepositoryTest.java | 112 ++ .../component/mongodb3/AbstractMongoDbTest.java | 112 -- .../mongodb3/EmbedMongoConfiguration.java | 108 -- .../MongoBasicOperationsConfiguration.java | 27 - .../mongodb3/MongoDbAggregateOperationTest.java | 121 -- .../mongodb3/MongoDbBigDecimalConverterTest.java | 61 - .../mongodb3/MongoDbBulkWriteOperationTest.java | 121 -- .../mongodb3/MongoDbChangeStreamsConsumerTest.java | 113 -- .../mongodb3/MongoDbConnectionBeansTest.java | 79 - .../component/mongodb3/MongoDbConversionsTest.java | 128 -- .../component/mongodb3/MongoDbDynamicityTest.java | 147 -- .../mongodb3/MongoDbExceptionHandlingTest.java | 93 - .../mongodb3/MongoDbFindOperationTest.java | 296 --- .../mongodb3/MongoDbHeaderHandlingTest.java | 127 -- .../camel/component/mongodb3/MongoDbIndexTest.java | 202 -- .../component/mongodb3/MongoDbOperationsTest.java | 397 ---- .../component/mongodb3/MongoDbOutputTypeTest.java | 134 -- .../mongodb3/MongoDbReadPreferenceOptionTest.java | 88 - .../mongodb3/MongoDbSpringDslOperationsTest.java | 45 - .../mongodb3/MongoDbStopEndpointTest.java | 56 - .../MongoDbTailableCursorConsumerTest.java | 434 ----- .../MongoDbIdempotentRepositoryTest.java | 112 -- .../mongoBasicOperationsTest.xml | 0 .../camel-mqtt/src/main/docs/mqtt-component.adoc | 12 +- .../camel-msv/src/main/docs/msv-component.adoc | 12 +- .../src/main/docs/mustache-component.adoc | 12 +- .../camel-mvel/src/main/docs/mvel-component.adoc | 12 +- .../camel-mvel/src/main/docs/mvel-language.adoc | 3 +- .../src/main/docs/mybatis-bean-component.adoc | 6 +- .../src/main/docs/mybatis-component.adoc | 6 +- .../src/main/docs/nagios-component.adoc | 12 +- .../camel-nats/src/main/docs/nats-component.adoc | 6 +- .../src/main/docs/netty-http-component.adoc | 60 +- .../component/netty/http/ChunkedHttpRequest.java | 72 + .../component/netty/http/ChunkedHttpResponse.java | 72 + .../component/netty/http/ContextPathMatcher.java | 55 + .../netty/http/CustomChunkedWriteHandler.java | 34 + .../netty/http/DefaultContextPathMatcher.java | 88 + .../netty/http/DefaultNettyHttpBinding.java | 674 +++++++ .../netty/http/DefaultNettySharedHttpServer.java | 141 ++ .../netty/http/HttpClientInitializerFactory.java | 191 ++ .../camel/component/netty/http/HttpPrincipal.java | 52 + .../netty/http/HttpServerBootstrapFactory.java | 103 ++ .../http/HttpServerConsumerChannelFactory.java | 63 + .../netty/http/HttpServerInitializerFactory.java | 196 ++ .../http/HttpServerSharedInitializerFactory.java | 162 ++ .../netty/http/JAASSecurityAuthenticator.java | 73 + .../netty/http/NettyChannelBufferStreamCache.java | 113 ++ .../NettyChannelBufferStreamCacheOnCompletion.java | 40 + .../component/netty/http/NettyHttpBinding.java | 117 ++ .../component/netty/http/NettyHttpComponent.java | 510 ++++++ .../netty/http/NettyHttpConfiguration.java | 327 ++++ .../component/netty/http/NettyHttpConstants.java | 35 + .../component/netty/http/NettyHttpConsumer.java | 76 + .../component/netty/http/NettyHttpConverter.java | 115 ++ .../component/netty/http/NettyHttpEndpoint.java | 264 +++ .../netty/http/NettyHttpHeaderFilterStrategy.java | 54 + .../component/netty/http/NettyHttpHelper.java | 296 +++ .../component/netty/http/NettyHttpMessage.java | 53 + .../http/NettyHttpOperationFailedException.java | 102 ++ .../component/netty/http/NettyHttpProducer.java | 153 ++ .../http/NettyHttpRestHeaderFilterStrategy.java | 60 + .../netty/http/NettyHttpSecurityConfiguration.java | 115 ++ .../netty/http/NettyHttpSendDynamicAware.java | 42 + .../netty/http/NettySharedHttpServer.java | 74 + ...ettySharedHttpServerBootstrapConfiguration.java | 59 + .../netty/http/RestContextPathMatcher.java | 131 ++ .../component/netty/http/RestNettyHttpBinding.java | 92 + .../netty/http/SecurityAuthenticator.java | 76 + .../netty/http/SecurityAuthenticatorSupport.java | 128 ++ .../component/netty/http/SecurityConstraint.java | 31 + .../netty/http/SecurityConstraintMapping.java | 133 ++ .../http/cloud/NettyHttpServiceExpression.java | 51 + .../cloud/NettyHttpServiceExpressionFactory.java | 30 + .../http/handlers/HttpClientChannelHandler.java | 65 + .../netty/http/handlers/HttpRestConsumerPath.java | 53 + .../http/handlers/HttpServerChannelHandler.java | 316 ++++ .../HttpServerMultiplexChannelHandler.java | 285 +++ .../component/netty4/http/ChunkedHttpRequest.java | 72 - .../component/netty4/http/ChunkedHttpResponse.java | 72 - .../component/netty4/http/ContextPathMatcher.java | 55 - .../netty4/http/CustomChunkedWriteHandler.java | 34 - .../netty4/http/DefaultContextPathMatcher.java | 88 - .../netty4/http/DefaultNettyHttpBinding.java | 674 ------- .../netty4/http/DefaultNettySharedHttpServer.java | 141 -- .../netty4/http/HttpClientInitializerFactory.java | 190 -- .../camel/component/netty4/http/HttpPrincipal.java | 52 - .../netty4/http/HttpServerBootstrapFactory.java | 103 -- .../http/HttpServerConsumerChannelFactory.java | 63 - .../netty4/http/HttpServerInitializerFactory.java | 196 -- .../http/HttpServerSharedInitializerFactory.java | 162 -- .../netty4/http/JAASSecurityAuthenticator.java | 73 - .../netty4/http/NettyChannelBufferStreamCache.java | 113 -- .../NettyChannelBufferStreamCacheOnCompletion.java | 40 - .../component/netty4/http/NettyHttpBinding.java | 117 -- .../component/netty4/http/NettyHttpComponent.java | 510 ------ .../netty4/http/NettyHttpConfiguration.java | 327 ---- .../component/netty4/http/NettyHttpConstants.java | 35 - .../component/netty4/http/NettyHttpConsumer.java | 76 - .../component/netty4/http/NettyHttpConverter.java | 115 -- .../component/netty4/http/NettyHttpEndpoint.java | 264 --- .../netty4/http/NettyHttpHeaderFilterStrategy.java | 54 - .../component/netty4/http/NettyHttpHelper.java | 296 --- .../component/netty4/http/NettyHttpMessage.java | 53 - .../http/NettyHttpOperationFailedException.java | 102 -- .../component/netty4/http/NettyHttpProducer.java | 153 -- .../http/NettyHttpRestHeaderFilterStrategy.java | 60 - .../http/NettyHttpSecurityConfiguration.java | 115 -- .../netty4/http/NettyHttpSendDynamicAware.java | 42 - .../netty4/http/NettySharedHttpServer.java | 74 - ...ettySharedHttpServerBootstrapConfiguration.java | 59 - .../netty4/http/RestContextPathMatcher.java | 131 -- .../netty4/http/RestNettyHttpBinding.java | 92 - .../netty4/http/SecurityAuthenticator.java | 76 - .../netty4/http/SecurityAuthenticatorSupport.java | 128 -- .../component/netty4/http/SecurityConstraint.java | 31 - .../netty4/http/SecurityConstraintMapping.java | 133 -- .../http/cloud/Netty4HttpServiceExpression.java | 51 - .../cloud/Netty4HttpServiceExpressionFactory.java | 30 - .../http/handlers/HttpClientChannelHandler.java | 65 - .../netty4/http/handlers/HttpRestConsumerPath.java | 53 - .../http/handlers/HttpServerChannelHandler.java | 316 ---- .../HttpServerMultiplexChannelHandler.java | 285 --- .../camel/component/netty/http/BaseNettyTest.java | 102 ++ .../component/netty/http/LogCaptureAppender.java | 63 + .../camel/component/netty/http/LogCaptureTest.java | 34 + .../netty/http/ManagedNettyEndpointTest.java | 83 + .../camel/component/netty/http/MyLoginModule.java | 103 ++ .../component/netty/http/MyRolePrincipal.java | 33 + .../netty/http/NettyCamelWebsiteTest.java | 50 + .../netty/http/NettyDefaultProtocolTest.java | 53 + .../netty/http/NettyHttp500ErrorTest.java | 85 + ...ettyHttp500ErrorThrowExceptionOnServerTest.java | 67 + ...tyHttpAccessHttpRequestAndResponseBeanTest.java | 75 + .../http/NettyHttpAccessHttpRequestBeanTest.java | 56 + .../netty/http/NettyHttpAccessHttpRequestTest.java | 57 + .../NettyHttpBasicAuthConstraintMapperTest.java | 97 + ...tpBasicAuthCustomSecurityAuthenticatorTest.java | 104 ++ .../netty/http/NettyHttpBasicAuthTest.java | 104 ++ ...pBindingPreservePostFormUrlEncodedBodyTest.java | 75 + .../http/NettyHttpBindingUseAbsolutePathTest.java | 105 ++ .../NettyHttpBindingUseRelativePathInPostTest.java | 75 + .../http/NettyHttpBindingUseRelativePathTest.java | 105 ++ .../netty/http/NettyHttpBridgeEncodedPathTest.java | 99 + .../NettyHttpBridgeRouteUsingHttpClientTest.java | 93 + .../netty/http/NettyHttpCharacterEncodingTest.java | 64 + .../netty/http/NettyHttpClientChunkedTest.java | 46 + .../http/NettyHttpClientExpectContinueTest.java | 58 + .../netty/http/NettyHttpCompressTest.java | 69 + .../netty/http/NettyHttpContentTypeTest.java | 87 + .../NettyHttpConvertPayloadToInputStreamTest.java | 62 + .../netty/http/NettyHttpCustomOptionsTest.java | 44 + .../http/NettyHttpEmptyQueryParameterTest.java | 51 + ...pEndpointUriCustomHeaderFilterStrategyTest.java | 65 + .../NettyHttpEndpointUriEncodingIssueTest.java | 57 + ...pointUriEncodingIssueUrlDecodeDisabledTest.java | 49 + .../http/NettyHttpFilterCamelHeadersTest.java | 72 + .../http/NettyHttpGetWithInvalidMessageTest.java | 105 ++ .../NettyHttpGetWithParamAsExchangeHeaderTest.java | 128 ++ .../netty/http/NettyHttpGetWithParamTest.java | 78 + .../netty/http/NettyHttpHandle404Test.java | 90 + .../netty/http/NettyHttpHeaderCaseTest.java | 73 + .../NettyHttpHeaderFilterStrategyRemovalTest.java | 71 + .../http/NettyHttpHeaderFilterStrategyTest.java | 108 ++ .../netty/http/NettyHttpHeaderMaxSizeTest.java | 62 + .../component/netty/http/NettyHttpHeadersTest.java | 54 + .../netty/http/NettyHttpMapHeadersFalseTest.java | 70 + .../netty/http/NettyHttpMethodRestrictTest.java | 75 + .../netty/http/NettyHttpOkStatusCodeTest.java | 82 + .../http/NettyHttpOnExceptionHandledTest.java | 56 + .../NettyHttpOperationFailedExceptionTest.java | 35 + .../netty/http/NettyHttpProducerBridgeTest.java | 91 + .../http/NettyHttpProducerConcurrentTest.java | 90 + .../netty/http/NettyHttpProducerHeadersTest.java | 84 + .../netty/http/NettyHttpProducerKeepAliveTest.java | 85 + .../http/NettyHttpProducerQueryParamTest.java | 110 ++ .../http/NettyHttpProducerSendEmptyHeaderTest.java | 48 + .../netty/http/NettyHttpProducerSessionTest.java | 92 + .../netty/http/NettyHttpProducerSimpleGetTest.java | 72 + .../netty/http/NettyHttpProducerSimpleTest.java | 74 + ...ttyHttpProducerThrowExceptionOnFailureTest.java | 58 + ...tyHttpProducerTwoParametersWithSameKeyTest.java | 100 + .../http/NettyHttpProducerWithHeaderTest.java | 60 + .../netty/http/NettyHttpProtocolNoSlashTest.java | 54 + .../netty/http/NettyHttpRawQueryTest.java | 57 + .../netty/http/NettyHttpRedeliveryTest.java | 73 + .../http/NettyHttpRedirectNoLocationTest.java | 59 + .../netty/http/NettyHttpRedirectTest.java | 56 + .../netty/http/NettyHttpRequestTimeoutTest.java | 60 + .../http/NettyHttpRestContextPathMatcherTest.java | 63 + .../netty/http/NettyHttpRestOptionsAllowTest.java | 58 + ...ttpReturnDataNotInputStreamConvertableTest.java | 53 + .../netty/http/NettyHttpSSLHandshakeErrorTest.java | 63 + .../component/netty/http/NettyHttpSSLTest.java | 111 ++ .../NettyHttpSameHostDifferentParametersTest.java | 52 + .../netty/http/NettyHttpSendDynamicAwareTest.java | 58 + ...ttyHttpSimpleBasicAuthConstraintMapperTest.java | 88 + .../netty/http/NettyHttpSimpleBasicAuthTest.java | 82 + .../component/netty/http/NettyHttpSimpleTest.java | 46 + .../http/NettyHttpSimpleUriParametersTest.java | 46 + .../http/NettyHttpStreamCacheFileResponseTest.java | 75 + .../netty/http/NettyHttpSuspendResume503Test.java | 74 + .../netty/http/NettyHttpSuspendResumeTest.java | 73 + .../netty/http/NettyHttpTraceDisabledTest.java | 62 + .../netty/http/NettyHttpTransferExceptionTest.java | 52 + ...ttyHttpTwoRoutesBootstrapConfigurationTest.java | 90 + .../NettyHttpTwoRoutesMatchOnUriPrefixTest.java | 77 + .../http/NettyHttpTwoRoutesStopOneRouteTest.java | 77 + .../netty/http/NettyHttpTwoRoutesTest.java | 54 + ...woRoutesValidateBootstrapConfigurationTest.java | 52 + .../netty/http/NettyHttpXMLXPathResponseTest.java | 53 + .../netty/http/NettyHttpXMLXPathTest.java | 53 + .../component/netty/http/NettyMDCLoggingTest.java | 60 + .../netty/http/NettyMixedCaseHttpPathTest.java | 46 + .../netty/http/NettyProxyMixedCasePathTest.java | 44 + .../netty/http/NettyRecipientListHttpBaseTest.java | 53 + .../netty/http/NettyRequestManagementTest.java | 56 + .../netty/http/NettyRouteSimpleDynamicURITest.java | 53 + .../component/netty/http/NettyRouteSimpleTest.java | 51 + .../netty/http/NettySharedHttpServerTest.java | 88 + .../netty/http/NettyUseRawHttpResponseTest.java | 63 + .../component/netty/http/ProxyProtocolTest.java | 87 + .../netty/http/SecurityConstraintMappingTest.java | 116 ++ .../netty/http/SpringNettyHttpBasicAuthTest.java | 117 ++ .../netty/http/SpringNettyHttpSSLTest.java | 81 + .../http/cloud/NettyHttpServiceCallRouteTest.java | 73 + .../component/netty/http/rest/CountryPojo.java | 40 + .../netty/http/rest/RestApiNettyTest.java | 69 + .../RestNettyHttpBindingModeAutoWithJsonTest.java | 59 + .../RestNettyHttpBindingModeAutoWithXmlTest.java | 59 + .../rest/RestNettyHttpBindingModeJsonTest.java | 76 + ...stNettyHttpBindingModeJsonWithContractTest.java | 81 + ...estNettyHttpBindingModeOffWithContractTest.java | 87 + .../http/rest/RestNettyHttpBindingModeXmlTest.java | 77 + .../RestNettyHttpContextPathConfigurationTest.java | 68 + .../rest/RestNettyHttpContextPathMatchGetTest.java | 68 + .../netty/http/rest/RestNettyHttpGetCorsTest.java | 81 + .../netty/http/rest/RestNettyHttpGetTest.java | 61 + .../http/rest/RestNettyHttpGetWildcardsTest.java | 76 + .../netty/http/rest/RestNettyHttpOptionsTest.java | 82 + .../http/rest/RestNettyHttpPojoInOutTest.java | 70 + .../rest/RestNettyHttpPostJsonJaxbPojoTest.java | 61 + .../rest/RestNettyHttpPostJsonPojoListTest.java | 68 + .../http/rest/RestNettyHttpPostJsonPojoTest.java | 61 + .../rest/RestNettyHttpPostXmlJaxbPojoTest.java | 79 + .../netty/http/rest/RestNettyHttpVerbTest.java | 89 + .../http/rest/RestNettyMethodNotAllowedTest.java | 67 + .../netty/http/rest/RestNettyProducerGetTest.java | 60 + .../rest/RestNettyProducerGetUriParameterTest.java | 60 + .../netty/http/rest/RestNettyProducerPutTest.java | 53 + .../RestNettyProducerThrowExceptionErrorTest.java | 72 + .../rest/RestNettyProducerVerbUpperCaseTest.java | 63 + .../netty/http/rest/RestPathMatchingTest.java | 89 + .../component/netty/http/rest/UserJaxbPojo.java | 48 + .../camel/component/netty/http/rest/UserPojo.java | 40 + .../component/netty/http/rest/UserPojoEx.java | 48 + .../component/netty/http/rest/UserService.java | 33 + .../camel/component/netty4/http/BaseNettyTest.java | 102 -- .../component/netty4/http/LogCaptureAppender.java | 63 - .../component/netty4/http/LogCaptureTest.java | 34 - .../netty4/http/ManagedNettyEndpointTest.java | 83 - .../camel/component/netty4/http/MyLoginModule.java | 103 -- .../component/netty4/http/MyRolePrincipal.java | 33 - .../netty4/http/NettyCamelWebsiteTest.java | 50 - .../netty4/http/NettyDefaultProtocolTest.java | 53 - .../netty4/http/NettyHttp500ErrorTest.java | 85 - ...ettyHttp500ErrorThrowExceptionOnServerTest.java | 67 - ...tyHttpAccessHttpRequestAndResponseBeanTest.java | 75 - .../http/NettyHttpAccessHttpRequestBeanTest.java | 56 - .../http/NettyHttpAccessHttpRequestTest.java | 57 - .../NettyHttpBasicAuthConstraintMapperTest.java | 97 - ...tpBasicAuthCustomSecurityAuthenticatorTest.java | 104 -- .../netty4/http/NettyHttpBasicAuthTest.java | 104 -- ...pBindingPreservePostFormUrlEncodedBodyTest.java | 75 - .../http/NettyHttpBindingUseAbsolutePathTest.java | 105 -- .../NettyHttpBindingUseRelativePathInPostTest.java | 75 - .../http/NettyHttpBindingUseRelativePathTest.java | 105 -- .../http/NettyHttpBridgeEncodedPathTest.java | 99 - .../NettyHttpBridgeRouteUsingHttpClientTest.java | 93 - .../http/NettyHttpCharacterEncodingTest.java | 64 - .../netty4/http/NettyHttpClientChunkedTest.java | 46 - .../http/NettyHttpClientExpectContinueTest.java | 58 - .../netty4/http/NettyHttpCompressTest.java | 69 - .../netty4/http/NettyHttpContentTypeTest.java | 87 - .../NettyHttpConvertPayloadToInputStreamTest.java | 62 - .../netty4/http/NettyHttpCustomOptionsTest.java | 44 - .../http/NettyHttpEmptyQueryParameterTest.java | 51 - ...pEndpointUriCustomHeaderFilterStrategyTest.java | 65 - .../NettyHttpEndpointUriEncodingIssueTest.java | 57 - ...pointUriEncodingIssueUrlDecodeDisabledTest.java | 49 - .../http/NettyHttpFilterCamelHeadersTest.java | 72 - .../http/NettyHttpGetWithInvalidMessageTest.java | 105 -- .../NettyHttpGetWithParamAsExchangeHeaderTest.java | 128 -- .../netty4/http/NettyHttpGetWithParamTest.java | 79 - .../netty4/http/NettyHttpHandle404Test.java | 90 - .../netty4/http/NettyHttpHeaderCaseTest.java | 73 - .../NettyHttpHeaderFilterStrategyRemovalTest.java | 71 - .../http/NettyHttpHeaderFilterStrategyTest.java | 108 -- .../netty4/http/NettyHttpHeaderMaxSizeTest.java | 62 - .../netty4/http/NettyHttpHeadersTest.java | 54 - .../netty4/http/NettyHttpMapHeadersFalseTest.java | 70 - .../netty4/http/NettyHttpMethodRestrictTest.java | 75 - .../netty4/http/NettyHttpOkStatusCodeTest.java | 82 - .../http/NettyHttpOnExceptionHandledTest.java | 56 - .../NettyHttpOperationFailedExceptionTest.java | 35 - .../netty4/http/NettyHttpProducerBridgeTest.java | 91 - .../http/NettyHttpProducerConcurrentTest.java | 90 - .../netty4/http/NettyHttpProducerHeadersTest.java | 84 - .../http/NettyHttpProducerKeepAliveTest.java | 85 - .../http/NettyHttpProducerQueryParamTest.java | 110 -- .../http/NettyHttpProducerSendEmptyHeaderTest.java | 48 - .../netty4/http/NettyHttpProducerSessionTest.java | 92 - .../http/NettyHttpProducerSimpleGetTest.java | 72 - .../netty4/http/NettyHttpProducerSimpleTest.java | 74 - ...ttyHttpProducerThrowExceptionOnFailureTest.java | 58 - ...tyHttpProducerTwoParametersWithSameKeyTest.java | 100 - .../http/NettyHttpProducerWithHeaderTest.java | 60 - .../netty4/http/NettyHttpProtocolNoSlashTest.java | 54 - .../netty4/http/NettyHttpRawQueryTest.java | 57 - .../netty4/http/NettyHttpRedeliveryTest.java | 73 - .../http/NettyHttpRedirectNoLocationTest.java | 59 - .../netty4/http/NettyHttpRedirectTest.java | 56 - .../netty4/http/NettyHttpRequestTimeoutTest.java | 60 - .../http/NettyHttpRestContextPathMatcherTest.java | 63 - .../netty4/http/NettyHttpRestOptionsAllowTest.java | 58 - ...ttpReturnDataNotInputStreamConvertableTest.java | 53 - .../http/NettyHttpSSLHandshakeErrorTest.java | 63 - .../component/netty4/http/NettyHttpSSLTest.java | 111 -- .../NettyHttpSameHostDifferentParametersTest.java | 52 - .../netty4/http/NettyHttpSendDynamicAwareTest.java | 58 - ...ttyHttpSimpleBasicAuthConstraintMapperTest.java | 88 - .../netty4/http/NettyHttpSimpleBasicAuthTest.java | 82 - .../component/netty4/http/NettyHttpSimpleTest.java | 46 - .../http/NettyHttpSimpleUriParametersTest.java | 46 - .../http/NettyHttpStreamCacheFileResponseTest.java | 75 - .../netty4/http/NettyHttpSuspendResume503Test.java | 74 - .../netty4/http/NettyHttpSuspendResumeTest.java | 73 - .../netty4/http/NettyHttpTraceDisabledTest.java | 62 - .../http/NettyHttpTransferExceptionTest.java | 52 - ...ttyHttpTwoRoutesBootstrapConfigurationTest.java | 90 - .../NettyHttpTwoRoutesMatchOnUriPrefixTest.java | 77 - .../http/NettyHttpTwoRoutesStopOneRouteTest.java | 77 - .../netty4/http/NettyHttpTwoRoutesTest.java | 54 - ...woRoutesValidateBootstrapConfigurationTest.java | 52 - .../netty4/http/NettyHttpXMLXPathResponseTest.java | 53 - .../netty4/http/NettyHttpXMLXPathTest.java | 53 - .../component/netty4/http/NettyMDCLoggingTest.java | 60 - .../netty4/http/NettyMixedCaseHttpPathTest.java | 46 - .../netty4/http/NettyProxyMixedCasePathTest.java | 44 - .../http/NettyRecipientListHttpBaseTest.java | 53 - .../netty4/http/NettyRequestManagementTest.java | 56 - .../http/NettyRouteSimpleDynamicURITest.java | 53 - .../netty4/http/NettyRouteSimpleTest.java | 51 - .../netty4/http/NettySharedHttpServerTest.java | 88 - .../netty4/http/NettyUseRawHttpResponseTest.java | 63 - .../component/netty4/http/ProxyProtocolTest.java | 87 - .../netty4/http/SecurityConstraintMappingTest.java | 116 -- .../netty4/http/SpringNettyHttpBasicAuthTest.java | 117 -- .../netty4/http/SpringNettyHttpSSLTest.java | 81 - .../http/cloud/Netty4HttpServiceCallRouteTest.java | 73 - .../component/netty4/http/rest/CountryPojo.java | 40 - .../netty4/http/rest/RestApiNettyTest.java | 69 - .../RestNettyHttpBindingModeAutoWithJsonTest.java | 59 - .../RestNettyHttpBindingModeAutoWithXmlTest.java | 59 - .../rest/RestNettyHttpBindingModeJsonTest.java | 76 - ...stNettyHttpBindingModeJsonWithContractTest.java | 81 - ...estNettyHttpBindingModeOffWithContractTest.java | 87 - .../http/rest/RestNettyHttpBindingModeXmlTest.java | 77 - .../RestNettyHttpContextPathConfigurationTest.java | 68 - .../rest/RestNettyHttpContextPathMatchGetTest.java | 68 - .../netty4/http/rest/RestNettyHttpGetCorsTest.java | 81 - .../netty4/http/rest/RestNettyHttpGetTest.java | 61 - .../http/rest/RestNettyHttpGetWildcardsTest.java | 76 - .../netty4/http/rest/RestNettyHttpOptionsTest.java | 82 - .../http/rest/RestNettyHttpPojoInOutTest.java | 70 - .../rest/RestNettyHttpPostJsonJaxbPojoTest.java | 61 - .../rest/RestNettyHttpPostJsonPojoListTest.java | 68 - .../http/rest/RestNettyHttpPostJsonPojoTest.java | 61 - .../rest/RestNettyHttpPostXmlJaxbPojoTest.java | 79 - .../netty4/http/rest/RestNettyHttpVerbTest.java | 89 - .../http/rest/RestNettyMethodNotAllowedTest.java | 67 - .../netty4/http/rest/RestNettyProducerGetTest.java | 60 - .../rest/RestNettyProducerGetUriParameterTest.java | 60 - .../netty4/http/rest/RestNettyProducerPutTest.java | 53 - .../RestNettyProducerThrowExceptionErrorTest.java | 72 - .../rest/RestNettyProducerVerbUpperCaseTest.java | 63 - .../netty4/http/rest/RestPathMatchingTest.java | 89 - .../component/netty4/http/rest/UserJaxbPojo.java | 48 - .../camel/component/netty4/http/rest/UserPojo.java | 40 - .../component/netty4/http/rest/UserPojoEx.java | 48 - .../component/netty4/http/rest/UserService.java | 33 - .../src/test/resources/log4j2.properties | 2 +- .../src/test/resources/myjaas.config | 2 +- .../netty/http/SpringNettyHttpBasicAuthTest.xml | 67 + .../http/SpringNettyHttpSSLTest.xml | 0 .../netty4/http/SpringNettyHttpBasicAuthTest.xml | 67 - .../camel-netty/src/main/docs/netty-component.adoc | 30 +- .../component/netty/ChannelHandlerFactories.java | 151 ++ .../component/netty/ChannelHandlerFactory.java | 35 + .../component/netty/ClientInitializerFactory.java | 42 + .../ClientModeTCPNettyServerBootstrapFactory.java | 218 +++ .../netty/DefaultChannelHandlerFactory.java | 37 + .../netty/DefaultClientInitializerFactory.java | 173 ++ .../DefaultNettyCamelStateCorrelationManager.java | 48 + .../netty/DefaultServerInitializerFactory.java | 194 ++ .../camel/component/netty/NettyCamelState.java | 46 + .../netty/NettyCamelStateCorrelationManager.java | 71 + .../camel/component/netty/NettyComponent.java | 197 ++ .../camel/component/netty/NettyConfiguration.java | 709 +++++++ .../camel/component/netty/NettyConstants.java | 42 + .../camel/component/netty/NettyConsumer.java | 111 ++ .../netty/NettyConsumerExceptionHandler.java | 66 + .../camel/component/netty/NettyConverter.java | 134 ++ .../camel/component/netty/NettyEndpoint.java | 159 ++ .../apache/camel/component/netty/NettyHelper.java | 125 ++ .../camel/component/netty/NettyPayloadHelper.java | 110 ++ .../camel/component/netty/NettyProducer.java | 668 +++++++ .../netty/NettyServerBootstrapConfiguration.java | 686 +++++++ .../netty/NettyServerBootstrapFactory.java | 72 + .../netty/NettyServerBossPoolBuilder.java | 82 + .../component/netty/NettyWorkerPoolBuilder.java | 94 + .../component/netty/ServerInitializerFactory.java | 43 + .../netty/ShareableChannelHandlerFactory.java | 37 + .../component/netty/SharedSingletonObjectPool.java | 97 + .../SingleTCPNettyServerBootstrapFactory.java | 201 ++ .../SingleUDPNettyServerBootstrapFactory.java | 206 +++ .../camel/component/netty/TextLineDelimiter.java | 24 + .../netty/TimeoutCorrelationManagerSupport.java | 239 +++ .../codec/DatagramPacketByteArrayDecoder.java | 50 + .../codec/DatagramPacketByteArrayEncoder.java | 50 + .../netty/codec/DatagramPacketDecoder.java | 40 + .../codec/DatagramPacketDelimiterDecoder.java | 58 + .../netty/codec/DatagramPacketEncoder.java | 48 + .../netty/codec/DatagramPacketObjectDecoder.java | 51 + .../netty/codec/DatagramPacketObjectEncoder.java | 55 + .../netty/codec/DatagramPacketStringDecoder.java | 68 + .../netty/codec/DatagramPacketStringEncoder.java | 74 + .../netty/codec/DelegateByteArrayDecoder.java | 36 + .../netty/codec/DelegateByteArrayEncoder.java | 36 + .../netty/codec/DelimiterBasedFrameDecoder.java | 59 + .../netty/codec/LineBasedFrameDecoder.java | 31 + .../camel/component/netty/codec/ObjectDecoder.java | 39 + .../camel/component/netty/codec/ObjectEncoder.java | 34 + .../netty/handlers/ClientChannelHandler.java | 262 +++ .../netty/handlers/ServerChannelHandler.java | 219 +++ .../handlers/ServerResponseFutureListener.java | 82 + .../component/netty/ssl/SSLEngineFactory.java | 86 + .../camel/component/netty/util/SubnetUtils.java | 377 ++++ .../component/netty4/ChannelHandlerFactories.java | 151 -- .../component/netty4/ChannelHandlerFactory.java | 35 - .../component/netty4/ClientInitializerFactory.java | 42 - .../ClientModeTCPNettyServerBootstrapFactory.java | 218 --- .../netty4/DefaultChannelHandlerFactory.java | 37 - .../netty4/DefaultClientInitializerFactory.java | 173 -- .../DefaultNettyCamelStateCorrelationManager.java | 48 - .../netty4/DefaultServerInitializerFactory.java | 194 -- .../camel/component/netty4/NettyCamelState.java | 46 - .../netty4/NettyCamelStateCorrelationManager.java | 71 - .../camel/component/netty4/NettyComponent.java | 197 -- .../camel/component/netty4/NettyConfiguration.java | 709 ------- .../camel/component/netty4/NettyConstants.java | 42 - .../camel/component/netty4/NettyConsumer.java | 111 -- .../netty4/NettyConsumerExceptionHandler.java | 66 - .../camel/component/netty4/NettyConverter.java | 134 -- .../camel/component/netty4/NettyEndpoint.java | 159 -- .../apache/camel/component/netty4/NettyHelper.java | 125 -- .../camel/component/netty4/NettyPayloadHelper.java | 110 -- .../camel/component/netty4/NettyProducer.java | 668 ------- .../netty4/NettyServerBootstrapConfiguration.java | 686 ------- .../netty4/NettyServerBootstrapFactory.java | 72 - .../netty4/NettyServerBossPoolBuilder.java | 82 - .../component/netty4/NettyWorkerPoolBuilder.java | 94 - .../component/netty4/ServerInitializerFactory.java | 43 - .../netty4/ShareableChannelHandlerFactory.java | 37 - .../netty4/SharedSingletonObjectPool.java | 97 - .../SingleTCPNettyServerBootstrapFactory.java | 201 -- .../SingleUDPNettyServerBootstrapFactory.java | 206 --- .../camel/component/netty4/TextLineDelimiter.java | 24 - .../netty4/TimeoutCorrelationManagerSupport.java | 239 --- .../codec/DatagramPacketByteArrayDecoder.java | 50 - .../codec/DatagramPacketByteArrayEncoder.java | 50 - .../netty4/codec/DatagramPacketDecoder.java | 40 - .../codec/DatagramPacketDelimiterDecoder.java | 58 - .../netty4/codec/DatagramPacketEncoder.java | 48 - .../netty4/codec/DatagramPacketObjectDecoder.java | 51 - .../netty4/codec/DatagramPacketObjectEncoder.java | 55 - .../netty4/codec/DatagramPacketStringDecoder.java | 68 - .../netty4/codec/DatagramPacketStringEncoder.java | 74 - .../netty4/codec/DelegateByteArrayDecoder.java | 36 - .../netty4/codec/DelegateByteArrayEncoder.java | 36 - .../netty4/codec/DelimiterBasedFrameDecoder.java | 59 - .../netty4/codec/LineBasedFrameDecoder.java | 31 - .../component/netty4/codec/ObjectDecoder.java | 39 - .../component/netty4/codec/ObjectEncoder.java | 34 - .../netty4/handlers/ClientChannelHandler.java | 262 --- .../netty4/handlers/ServerChannelHandler.java | 219 --- .../handlers/ServerResponseFutureListener.java | 82 - .../component/netty4/ssl/SSLEngineFactory.java | 86 - .../camel/component/netty4/util/SubnetUtils.java | 377 ---- .../camel/component/netty/BaseNettyTest.java | 120 ++ .../netty/DatagramPacketByteArrayCodecTest.java | 65 + .../camel/component/netty/LogCaptureAppender.java | 63 + .../camel/component/netty/LogCaptureTest.java | 34 + .../component/netty/MultipleCodecsSpringTest.java | 40 + .../camel/component/netty/MultipleCodecsTest.java | 90 + .../camel/component/netty/MyCustomCodec.java | 78 + .../camel/component/netty/Netty2978IssueTest.java | 120 ++ .../camel/component/netty/NettyBacklogTest.java | 46 + .../netty/NettyComponentWithConfigurationTest.java | 81 + .../camel/component/netty/NettyConcurrentTest.java | 105 ++ .../NettyConsumerClientModeReconnectTest.java | 172 ++ .../NettyConsumerClientModeReuseChannelTest.java | 175 ++ .../netty/NettyConsumerClientModeTest.java | 162 ++ .../camel/component/netty/NettyConverterTest.java | 66 + .../component/netty/NettyCustomCodecTest.java | 64 + .../netty/NettyCustomCorrelationManagerTest.java | 117 ++ .../NettyCustomPipelineFactoryAsynchTest.java | 117 ++ .../netty/NettyCustomPipelineFactorySynchTest.java | 121 ++ .../camel/component/netty/NettyDisconnectTest.java | 46 + .../camel/component/netty/NettyFileTcpTest.java | 48 + .../netty/NettyGlobalSSLContextParametersTest.java | 93 + .../NettyInOutCloseChannelWhenCompleteTest.java | 47 + .../component/netty/NettyInOutFromSedaTest.java | 53 + .../netty/NettyInOutWithForcedNoResponseTest.java | 52 + .../component/netty/NettyManualEndpointTest.java | 78 + .../NettyMultipleSimultaneousClientsTest.java | 97 + .../camel/component/netty/NettyOptionTest.java | 46 + .../netty/NettyProducerAsyncEndpointTest.java | 73 + .../component/netty/NettyProducerHangTest.java | 93 + .../netty/NettyProducerPoolDisabledTest.java | 47 + .../camel/component/netty/NettyProxyTest.java | 61 + .../camel/component/netty/NettyRedeliveryTest.java | 220 +++ .../netty/NettyRequestTimeoutIssueTest.java | 50 + .../component/netty/NettyRequestTimeoutTest.java | 92 + .../component/netty/NettyReuseChannelTest.java | 86 + .../component/netty/NettyReuseConnectionTest.java | 46 + .../component/netty/NettySSLClasspathTest.java | 56 + .../netty/NettySSLClientCertHeadersTest.java | 74 + .../netty/NettySSLConsumerClientModeTest.java | 223 +++ .../netty/NettySSLContextParametersTest.java | 91 + .../component/netty/NettySSLPassphaseBeanTest.java | 60 + .../apache/camel/component/netty/NettySSLTest.java | 82 + .../component/netty/NettySingleCodecTest.java | 58 + .../component/netty/NettySuspendResumeTest.java | 61 + .../camel/component/netty/NettyTCPAsyncTest.java | 74 + .../camel/component/netty/NettyTCPChainedTest.java | 89 + .../netty/NettyTCPSyncNotLazyChannelTest.java | 62 + .../camel/component/netty/NettyTCPSyncTest.java | 75 + .../NettyTcpWithInOutUsingPlainSocketTest.java | 141 ++ .../NettyTextlineInOnlyNullDelimiterTest.java | 45 + .../component/netty/NettyTextlineInOnlyTest.java | 63 + .../netty/NettyTextlineInOutNonBlockingTest.java | 84 + .../NettyTextlineInOutSynchronousFalseTest.java | 69 + .../netty/NettyTextlineInOutSynchronousTest.java | 69 + .../component/netty/NettyTextlineInOutTest.java | 47 + .../netty/NettyTransferExchangeOptionTest.java | 123 ++ .../camel/component/netty/NettyUDPAsyncTest.java | 62 + .../netty/NettyUDPByteArrayConsumerTest.java | 69 + .../netty/NettyUDPByteArrayProviderTest.java | 103 ++ .../netty/NettyUDPLargeMessageInOnlyTest.java | 68 + ...yUDPMessageLargerThanDefaultBufferSizeTest.java | 68 + .../netty/NettyUDPMulticastAsyncTest.java | 90 + .../component/netty/NettyUDPObjectSyncTest.java | 50 + .../camel/component/netty/NettyUDPSyncTest.java | 54 + .../component/netty/NettyUdpConnectedSendTest.java | 122 ++ .../netty/NettyUdpConnectionlessSendTest.java | 114 ++ .../NettyUdpWithInOutUsingPlainSocketTest.java | 80 + ...ttyUseSharedWorkerThreadPoolManyRoutesTest.java | 70 + .../netty/NettyUseSharedWorkerThreadPoolTest.java | 82 + .../org/apache/camel/component/netty/Poetry.java | 56 + .../SpringNettyUseSharedWorkerThreadPoolTest.java | 48 + .../netty/UnsharableCodecsConflicts2Test.java | 111 ++ .../netty/UnsharableCodecsConflictsTest.java | 119 ++ .../camel/component/netty4/BaseNettyTest.java | 120 -- .../netty4/DatagramPacketByteArrayCodecTest.java | 65 - .../camel/component/netty4/LogCaptureAppender.java | 63 - .../camel/component/netty4/LogCaptureTest.java | 34 - .../component/netty4/MultipleCodecsSpringTest.java | 40 - .../camel/component/netty4/MultipleCodecsTest.java | 90 - .../camel/component/netty4/MyCustomCodec.java | 78 - .../camel/component/netty4/Netty2978IssueTest.java | 120 -- .../camel/component/netty4/NettyBacklogTest.java | 46 - .../NettyComponentWithConfigurationTest.java | 81 - .../component/netty4/NettyConcurrentTest.java | 105 -- .../NettyConsumerClientModeReconnectTest.java | 172 -- .../NettyConsumerClientModeReuseChannelTest.java | 175 -- .../netty4/NettyConsumerClientModeTest.java | 162 -- .../camel/component/netty4/NettyConverterTest.java | 66 - .../component/netty4/NettyCustomCodecTest.java | 64 - .../netty4/NettyCustomCorrelationManagerTest.java | 117 -- .../NettyCustomPipelineFactoryAsynchTest.java | 117 -- .../NettyCustomPipelineFactorySynchTest.java | 121 -- .../component/netty4/NettyDisconnectTest.java | 46 - .../camel/component/netty4/NettyFileTcpTest.java | 48 - .../NettyGlobalSSLContextParametersTest.java | 93 - .../NettyInOutCloseChannelWhenCompleteTest.java | 47 - .../component/netty4/NettyInOutFromSedaTest.java | 53 - .../netty4/NettyInOutWithForcedNoResponseTest.java | 52 - .../component/netty4/NettyManualEndpointTest.java | 78 - .../NettyMultipleSimultaneousClientsTest.java | 97 - .../camel/component/netty4/NettyOptionTest.java | 46 - .../netty4/NettyProducerAsyncEndpointTest.java | 73 - .../component/netty4/NettyProducerHangTest.java | 93 - .../netty4/NettyProducerPoolDisabledTest.java | 47 - .../camel/component/netty4/NettyProxyTest.java | 61 - .../component/netty4/NettyRedeliveryTest.java | 220 --- .../netty4/NettyRequestTimeoutIssueTest.java | 50 - .../component/netty4/NettyRequestTimeoutTest.java | 92 - .../component/netty4/NettyReuseChannelTest.java | 86 - .../component/netty4/NettyReuseConnectionTest.java | 46 - .../component/netty4/NettySSLClasspathTest.java | 56 - .../netty4/NettySSLClientCertHeadersTest.java | 74 - .../netty4/NettySSLConsumerClientModeTest.java | 223 --- .../netty4/NettySSLContextParametersTest.java | 91 - .../netty4/NettySSLPassphaseBeanTest.java | 60 - .../camel/component/netty4/NettySSLTest.java | 82 - .../component/netty4/NettySingleCodecTest.java | 58 - .../component/netty4/NettySuspendResumeTest.java | 61 - .../camel/component/netty4/NettyTCPAsyncTest.java | 74 - .../component/netty4/NettyTCPChainedTest.java | 89 - .../netty4/NettyTCPSyncNotLazyChannelTest.java | 62 - .../camel/component/netty4/NettyTCPSyncTest.java | 75 - .../NettyTcpWithInOutUsingPlainSocketTest.java | 141 -- .../NettyTextlineInOnlyNullDelimiterTest.java | 45 - .../component/netty4/NettyTextlineInOnlyTest.java | 63 - .../netty4/NettyTextlineInOutNonBlockingTest.java | 84 - .../NettyTextlineInOutSynchronousFalseTest.java | 69 - .../netty4/NettyTextlineInOutSynchronousTest.java | 69 - .../component/netty4/NettyTextlineInOutTest.java | 47 - .../netty4/NettyTransferExchangeOptionTest.java | 123 -- .../camel/component/netty4/NettyUDPAsyncTest.java | 62 - .../netty4/NettyUDPByteArrayConsumerTest.java | 69 - .../netty4/NettyUDPByteArrayProviderTest.java | 103 -- .../netty4/NettyUDPLargeMessageInOnlyTest.java | 68 - ...yUDPMessageLargerThanDefaultBufferSizeTest.java | 68 - .../netty4/NettyUDPMulticastAsyncTest.java | 90 - .../component/netty4/NettyUDPObjectSyncTest.java | 50 - .../camel/component/netty4/NettyUDPSyncTest.java | 54 - .../netty4/NettyUdpConnectedSendTest.java | 122 -- .../netty4/NettyUdpConnectionlessSendTest.java | 114 -- .../NettyUdpWithInOutUsingPlainSocketTest.java | 80 - ...ttyUseSharedWorkerThreadPoolManyRoutesTest.java | 70 - .../netty4/NettyUseSharedWorkerThreadPoolTest.java | 82 - .../org/apache/camel/component/netty4/Poetry.java | 56 - .../SpringNettyUseSharedWorkerThreadPoolTest.java | 48 - .../netty4/UnsharableCodecsConflicts2Test.java | 111 -- .../netty4/UnsharableCodecsConflictsTest.java | 119 -- .../src/test/resources/log4j2.properties | 2 +- .../SpringNettyUseSharedWorkerThreadPoolTest.xml | 54 + .../camel/component/netty/multiple-codecs.xml | 74 + .../SpringNettyUseSharedWorkerThreadPoolTest.xml | 54 - .../camel/component/netty4/multiple-codecs.xml | 74 - .../camel-nsq/src/main/docs/nsq-component.adoc | 6 +- .../src/main/docs/olingo2-component.adoc | 6 +- .../camel/component/olingo4/api/Olingo4App.java | 10 + .../component/olingo4/api/impl/Olingo4AppImpl.java | 76 +- .../camel/component/olingo4/Olingo4AppAPITest.java | 73 + .../camel-olingo4/camel-olingo4-component/pom.xml | 1 + .../src/main/docs/olingo4-component.adoc | 22 +- .../src/signatures/olingo-api-signature.txt | 1 + .../olingo4/Olingo4ComponentProducerTest.java | 21 + .../src/main/docs/openstack-cinder-component.adoc | 14 +- .../src/main/docs/openstack-glance-component.adoc | 14 +- .../main/docs/openstack-keystone-component.adoc | 14 +- .../src/main/docs/openstack-neutron-component.adoc | 14 +- .../src/main/docs/openstack-nova-component.adoc | 14 +- .../src/main/docs/openstack-swift-component.adoc | 14 +- .../src/main/docs/optaplanner-component.adoc | 12 +- .../camel-paho/src/main/docs/paho-component.adoc | 6 +- .../src/main/docs/paxlogging-component.adoc | 3 +- .../camel-pdf/src/main/docs/pdf-component.adoc | 16 +- .../main/docs/pg-replication-slot-component.adoc | 12 +- .../src/main/docs/pgevent-component.adoc | 12 +- .../camel-printer/src/main/docs/lpr-component.adoc | 6 +- .../src/main/docs/properties-component.adoc | 11 +- .../component/properties/PropertiesComponent.java | 4 +- .../src/main/docs/protobuf-dataformat.adoc | 2 - .../src/main/docs/pubnub-component.adoc | 14 +- .../src/main/docs/pulsar-component.adoc | 19 +- .../camel/component/pulsar/PulsarProducer.java | 17 +- .../pulsar/configuration/PulsarConfiguration.java | 146 ++ .../pulsar/PulsarConsumerAcknowledgementTest.java | 2 +- .../PulsarConsumerNoAcknowledgementTest.java | 2 +- .../pulsar/PulsarCustomMessageReceiptTest.java | 17 +- .../pulsar/PulsarNegativeAcknowledgementTest.java | 4 +- .../camel/component/pulsar/PulsarTestSupport.java | 2 +- .../src/main/docs/quartz-component.adoc | 6 +- components/camel-quickfix/pom.xml | 2 +- .../src/main/docs/quickfix-component.adoc | 12 +- .../src/main/docs/rabbitmq-component.adoc | 6 +- .../src/main/docs/reactive-streams-component.adoc | 12 +- .../camel-ref/src/main/docs/ref-component.adoc | 6 +- .../src/main/docs/rest-swagger-component.adoc | 6 +- .../src/main/docs/rest-api-component.adoc | 10 +- .../camel-rest/src/main/docs/rest-component.adoc | 10 +- .../src/main/docs/restlet-component.adoc | 6 +- components/camel-ribbon/src/main/docs/ribbon.adoc | 3 - .../camel-rss/src/main/docs/rss-component.adoc | 14 +- .../camel-rss/src/main/docs/rss-dataformat.adoc | 3 +- .../camel-saga/src/main/docs/saga-component.adoc | 6 +- .../src/main/docs/salesforce-component.adoc | 6 +- .../salesforce/AbstractSalesforceTestBase.java | 2 +- components/camel-sap-netweaver/pom.xml | 1 - .../src/main/docs/sap-netweaver-component.adoc | 14 +- .../src/main/docs/xquery-component.adoc | 6 +- .../camel-saxon/src/main/docs/xquery-language.adoc | 3 +- .../src/main/docs/scheduler-component.adoc | 10 +- .../src/main/docs/schematron-component.adoc | 6 +- .../camel-seda/src/main/docs/seda-component.adoc | 12 +- .../src/main/docs/service-component.adoc | 12 +- .../camel-servicenow-component/pom.xml | 1 - .../src/main/docs/servicenow-component.adoc | 6 +- .../src/main/docs/servlet-component.adoc | 15 +- .../camel-sip/src/main/docs/sip-component.adoc | 6 +- .../src/main/docs/sjms-batch-component.adoc | 6 +- .../camel-sjms/src/main/docs/sjms-component.adoc | 6 +- .../camel-sjms2/src/main/docs/sjms2-component.adoc | 6 +- .../camel-slack/src/main/docs/slack-component.adoc | 12 +- .../camel-smpp/src/main/docs/smpp-component.adoc | 12 +- .../camel-snmp/src/main/docs/snmp-component.adoc | 12 +- .../camel-solr/src/main/docs/solr-component.adoc | 12 +- .../src/main/docs/soroush-component.adoc | 6 +- .../src/main/docs/spark-rest-component.adoc | 3 +- .../camel-spark/src/main/docs/spark-component.adoc | 12 +- .../src/main/docs/splunk-component.adoc | 12 +- .../src/main/docs/spring-batch-component.adoc | 6 +- .../camel/spring/boot/SpringTypeConverter.java | 2 +- .../main/docs/spring-integration-component.adoc | 12 +- .../src/main/docs/spring-ldap-component.adoc | 6 +- .../src/main/docs/spring-redis-component.adoc | 12 +- .../src/main/docs/spring-security.adoc | 10 - .../src/main/docs/spring-ws-component.adoc | 12 +- .../src/main/docs/spring-event-component.adoc | 12 +- components/camel-spring/src/main/docs/spring.adoc | 12 - .../camel/spring/CamelContextFactoryBean.java | 10 +- .../camel-sql/src/main/docs/sql-component.adoc | 6 +- .../src/main/docs/sql-stored-component.adoc | 9 +- .../camel-ssh/src/main/docs/ssh-component.adoc | 12 +- .../camel-stax/src/main/docs/stax-component.adoc | 12 +- .../camel-stomp/src/main/docs/stomp-component.adoc | 12 +- .../src/main/docs/stream-component.adoc | 6 +- .../src/main/docs/string-template-component.adoc | 12 +- .../camel-stub/src/main/docs/stub-component.adoc | 6 +- .../src/main/docs/syslog-dataformat.adoc | 6 - .../syslog/netty/Rfc5425FrameDecoder.java | 2 +- .../component/syslog/applicationContext-Mina.xml | 4 +- components/camel-telegram/pom.xml | 1 - .../src/main/docs/telegram-component.adoc | 6 +- .../camel-test-cdi/src/main/docs/test-cdi.adoc | 10 - .../src/main/docs/thrift-component.adoc | 12 +- .../src/main/docs/thrift-dataformat.adoc | 3 +- .../camel-tika/src/main/docs/tika-component.adoc | 6 +- .../camel-timer/src/main/docs/timer-component.adoc | 10 +- .../src/main/docs/twilio-component.adoc | 6 +- .../main/docs/twitter-directmessage-component.adoc | 6 +- .../src/main/docs/twitter-search-component.adoc | 6 +- .../src/main/docs/twitter-timeline-component.adoc | 6 +- .../src/main/docs/undertow-component.adoc | 6 +- .../src/main/docs/validator-component.adoc | 6 +- .../src/main/docs/velocity-component.adoc | 12 +- .../camel-vertx/src/main/docs/vertx-component.adoc | 12 +- .../camel-vm/src/main/docs/vm-component.adoc | 9 +- components/camel-weather/pom.xml | 1 - .../src/main/docs/weather-component.adoc | 6 +- .../camel-web3j/src/main/docs/web3j-component.adoc | 6 +- .../src/main/docs/webhook-component.adoc | 6 +- .../src/main/docs/websocket-jsr356-component.adoc | 6 +- .../src/main/docs/websocket-component.adoc | 18 +- .../src/main/docs/wordpress-component.adoc | 6 +- .../src/main/docs/xchange-component.adoc | 6 +- .../src/main/docs/xmlsecurity-component.adoc | 9 +- .../camel-xmpp/src/main/docs/xmpp-component.adoc | 12 +- .../camel-xslt/src/main/docs/xslt-component.adoc | 12 +- components/camel-yammer/pom.xml | 1 - .../src/main/docs/yammer-component.adoc | 6 +- .../src/main/docs/zendesk-component.adoc | 6 +- .../src/main/docs/zookeeper-master-component.adoc | 12 +- .../src/main/docs/zookeeper-component.adoc | 6 +- core/camel-api/pom.xml | 18 + .../src/main/java/org/apache/camel/Exchange.java | 2 + .../camel/spi/PropertyPlaceholderConfigurer.java | 41 + .../impl/cloud/DefaultServiceCallExpression.java | 2 +- core/camel-core/src/main/docs/eips/bean-eip.adoc | 5 - core/camel-core/src/main/docs/eips/delay-eip.adoc | 4 - .../camel-core/src/main/docs/eips/process-eip.adoc | 6 - .../src/main/docs/eips/rollback-eip.adoc | 9 - .../apache/camel/model/DataFormatDefinition.java | 2 +- .../DefinitionPropertyPlaceholderConfigurer.java | 52 + .../org/apache/camel/model/FromDefinition.java | 3 + .../java/org/apache/camel/model/LogDefinition.java | 2 + .../camel/model/OptionalIdentifiedDefinition.java | 2 +- .../camel/model/ProcessorDefinitionHelper.java | 206 +-- .../java/org/apache/camel/model/ToDefinition.java | 4 + .../camel/model/language/ExpressionDefinition.java | 3 +- .../org/apache/camel/reifier/ChoiceReifier.java | 3 - .../org/apache/camel/reifier/ProcessorReifier.java | 16 +- .../OptionalPropertiesDslInvalidSyntaxTest.java | 7 +- .../PropertiesComponentPropertiesSourceTest.java | 2 +- ...RouteWithConstantFieldFromExchangeFailTest.java | 1 + .../camel/processor/SimpleMockPlaceholderTest.java | 75 + .../org/apache/camel/processor/SimpleMockTest.java | 2 - .../builder/endpoint/EndpointBuilderFactory.java | 2 +- .../endpoint/dsl/Mina2EndpointBuilderFactory.java | 1927 -------------------- .../endpoint/dsl/MinaEndpointBuilderFactory.java | 1926 +++++++++++++++++++ .../dsl/MongoDbEndpointBuilderFactory.java | 28 +- .../endpoint/dsl/NettyEndpointBuilderFactory.java | 36 +- .../dsl/NettyHttpEndpointBuilderFactory.java | 68 +- .../endpoint/dsl/PulsarEndpointBuilderFactory.java | 260 +++ .../org/apache/camel/support/DefaultComponent.java | 31 - .../camel/support/PropertyPlaceholdersHelper.java | 78 - .../apache/camel/support/SimpleTypeConverter.java | 1 + .../modules/ROOT/pages/activemq-component.adoc | 6 +- .../modules/ROOT/pages/ahc-component.adoc | 16 +- .../modules/ROOT/pages/ahc-ws-component.adoc | 15 +- .../modules/ROOT/pages/amqp-component.adoc | 12 +- .../modules/ROOT/pages/apns-component.adoc | 13 +- .../modules/ROOT/pages/as2-component.adoc | 6 +- .../modules/ROOT/pages/asterisk-component.adoc | 6 +- .../modules/ROOT/pages/atmos-component.adoc | 12 +- .../ROOT/pages/atmosphere-websocket-component.adoc | 16 +- .../modules/ROOT/pages/atom-component.adoc | 14 +- .../modules/ROOT/pages/atomix-map-component.adoc | 6 +- .../ROOT/pages/atomix-messaging-component.adoc | 6 +- .../ROOT/pages/atomix-multimap-component.adoc | 6 +- .../modules/ROOT/pages/atomix-queue-component.adoc | 6 +- .../modules/ROOT/pages/atomix-set-component.adoc | 6 +- .../modules/ROOT/pages/atomix-value-component.adoc | 6 +- .../modules/ROOT/pages/avro-component.adoc | 6 +- .../modules/ROOT/pages/avro-dataformat.adoc | 3 +- .../modules/ROOT/pages/aws-cw-component.adoc | 14 +- .../modules/ROOT/pages/aws-ddb-component.adoc | 14 +- .../ROOT/pages/aws-ddbstream-component.adoc | 15 +- .../modules/ROOT/pages/aws-ec2-component.adoc | 14 +- .../modules/ROOT/pages/aws-ecs-component.adoc | 14 +- .../modules/ROOT/pages/aws-eks-component.adoc | 14 +- .../modules/ROOT/pages/aws-iam-component.adoc | 14 +- .../modules/ROOT/pages/aws-kinesis-component.adoc | 14 +- .../ROOT/pages/aws-kinesis-firehose-component.adoc | 14 +- .../modules/ROOT/pages/aws-kms-component.adoc | 14 +- .../modules/ROOT/pages/aws-lambda-component.adoc | 14 +- .../modules/ROOT/pages/aws-mq-component.adoc | 14 +- .../modules/ROOT/pages/aws-msk-component.adoc | 14 +- .../modules/ROOT/pages/aws-s3-component.adoc | 14 +- .../modules/ROOT/pages/aws-sdb-component.adoc | 14 +- .../modules/ROOT/pages/aws-ses-component.adoc | 14 +- .../modules/ROOT/pages/aws-sns-component.adoc | 14 +- .../modules/ROOT/pages/aws-sqs-component.adoc | 14 +- .../modules/ROOT/pages/aws-swf-component.adoc | 14 +- .../modules/ROOT/pages/azure-blob-component.adoc | 14 +- .../modules/ROOT/pages/azure-queue-component.adoc | 14 +- .../modules/ROOT/pages/bean-component.adoc | 3 +- .../ROOT/pages/bean-validator-component.adoc | 12 +- .../modules/ROOT/pages/beanstalk-component.adoc | 12 +- .../modules/ROOT/pages/bonita-component.adoc | 6 +- .../modules/ROOT/pages/box-component.adoc | 6 +- .../modules/ROOT/pages/braintree-component.adoc | 12 +- .../modules/ROOT/pages/browse-component.adoc | 12 +- .../ROOT/pages/caffeine-cache-component.adoc | 6 +- .../ROOT/pages/caffeine-loadcache-component.adoc | 6 +- docs/components/modules/ROOT/pages/cdi.adoc | 9 - .../modules/ROOT/pages/chatscript-component.adoc | 6 +- .../modules/ROOT/pages/chunk-component.adoc | 12 +- .../modules/ROOT/pages/class-component.adoc | 13 +- .../modules/ROOT/pages/cm-sms-component.adoc | 6 +- .../modules/ROOT/pages/cmis-component.adoc | 12 +- .../modules/ROOT/pages/coap-component.adoc | 6 +- .../modules/ROOT/pages/cometd-component.adoc | 12 +- .../modules/ROOT/pages/consul-component.adoc | 6 +- .../modules/ROOT/pages/controlbus-component.adoc | 6 +- .../modules/ROOT/pages/corda-component.adoc | 6 +- .../modules/ROOT/pages/couchbase-component.adoc | 6 +- .../modules/ROOT/pages/couchdb-component.adoc | 6 +- .../modules/ROOT/pages/cql-component.adoc | 6 +- .../modules/ROOT/pages/crypto-cms-component.adoc | 6 +- .../modules/ROOT/pages/crypto-component.adoc | 12 +- .../modules/ROOT/pages/crypto-dataformat.adoc | 8 +- .../modules/ROOT/pages/cxf-component.adoc | 12 +- .../modules/ROOT/pages/cxfrs-component.adoc | 6 +- .../modules/ROOT/pages/dataformat-component.adoc | 6 +- .../modules/ROOT/pages/dataset-component.adoc | 6 +- .../modules/ROOT/pages/dataset-test-component.adoc | 9 +- .../modules/ROOT/pages/digitalocean-component.adoc | 6 +- .../modules/ROOT/pages/direct-component.adoc | 10 +- .../modules/ROOT/pages/direct-vm-component.adoc | 8 +- .../modules/ROOT/pages/disruptor-component.adoc | 7 +- .../modules/ROOT/pages/dns-component.adoc | 6 +- .../modules/ROOT/pages/docker-component.adoc | 6 +- .../modules/ROOT/pages/dozer-component.adoc | 6 +- .../modules/ROOT/pages/drill-component.adoc | 12 +- .../modules/ROOT/pages/dropbox-component.adoc | 6 +- .../modules/ROOT/pages/ehcache-component.adoc | 6 +- .../ROOT/pages/elasticsearch-rest-component.adoc | 6 +- .../modules/ROOT/pages/elsql-component.adoc | 6 +- .../modules/ROOT/pages/etcd-component.adoc | 6 +- .../modules/ROOT/pages/eventadmin-component.adoc | 3 +- .../modules/ROOT/pages/exec-component.adoc | 12 +- .../modules/ROOT/pages/facebook-component.adoc | 6 +- .../modules/ROOT/pages/fhir-component.adoc | 6 +- .../modules/ROOT/pages/file-component.adoc | 11 +- .../modules/ROOT/pages/file-watch-component.adoc | 6 +- .../modules/ROOT/pages/flatpack-component.adoc | 12 +- .../modules/ROOT/pages/flatpack-dataformat.adoc | 3 +- .../modules/ROOT/pages/flink-component.adoc | 12 +- .../modules/ROOT/pages/fop-component.adoc | 12 +- .../modules/ROOT/pages/freemarker-component.adoc | 12 +- .../modules/ROOT/pages/ftp-component.adoc | 14 +- .../modules/ROOT/pages/ftps-component.adoc | 6 +- .../modules/ROOT/pages/ganglia-component.adoc | 6 +- .../modules/ROOT/pages/geocoder-component.adoc | 6 +- .../modules/ROOT/pages/git-component.adoc | 6 +- .../modules/ROOT/pages/github-component.adoc | 6 +- .../ROOT/pages/google-bigquery-component.adoc | 6 +- .../ROOT/pages/google-bigquery-sql-component.adoc | 6 +- .../ROOT/pages/google-calendar-component.adoc | 6 +- .../pages/google-calendar-stream-component.adoc | 6 +- .../modules/ROOT/pages/google-drive-component.adoc | 6 +- .../modules/ROOT/pages/google-mail-component.adoc | 6 +- .../ROOT/pages/google-mail-stream-component.adoc | 6 +- .../ROOT/pages/google-pubsub-component.adoc | 6 +- .../ROOT/pages/google-sheets-component.adoc | 6 +- .../ROOT/pages/google-sheets-stream-component.adoc | 6 +- .../modules/ROOT/pages/gora-component.adoc | 6 +- .../modules/ROOT/pages/grape-component.adoc | 9 +- .../modules/ROOT/pages/grpc-component.adoc | 13 +- .../ROOT/pages/guava-eventbus-component.adoc | 6 +- .../pages/hazelcast-atomicvalue-component.adoc | 6 +- .../ROOT/pages/hazelcast-instance-component.adoc | 6 +- .../ROOT/pages/hazelcast-list-component.adoc | 6 +- .../ROOT/pages/hazelcast-map-component.adoc | 6 +- .../ROOT/pages/hazelcast-multimap-component.adoc | 6 +- .../ROOT/pages/hazelcast-queue-component.adoc | 6 +- .../pages/hazelcast-replicatedmap-component.adoc | 6 +- .../ROOT/pages/hazelcast-ringbuffer-component.adoc | 6 +- .../ROOT/pages/hazelcast-seda-component.adoc | 6 +- .../ROOT/pages/hazelcast-set-component.adoc | 6 +- .../ROOT/pages/hazelcast-topic-component.adoc | 6 +- .../modules/ROOT/pages/hbase-component.adoc | 10 +- .../modules/ROOT/pages/hdfs-component.adoc | 6 +- .../modules/ROOT/pages/hipchat-component.adoc | 6 +- .../modules/ROOT/pages/hl7-dataformat.adoc | 2 +- .../modules/ROOT/pages/http-component.adoc | 6 +- .../modules/ROOT/pages/ical-dataformat.adoc | 6 - .../ROOT/pages/iec60870-client-component.adoc | 6 +- .../ROOT/pages/iec60870-server-component.adoc | 6 +- .../modules/ROOT/pages/ignite-cache-component.adoc | 6 +- .../ROOT/pages/ignite-compute-component.adoc | 6 +- .../ROOT/pages/ignite-events-component.adoc | 6 +- .../modules/ROOT/pages/ignite-idgen-component.adoc | 6 +- .../ROOT/pages/ignite-messaging-component.adoc | 6 +- .../modules/ROOT/pages/ignite-queue-component.adoc | 6 +- .../modules/ROOT/pages/ignite-set-component.adoc | 6 +- docs/components/modules/ROOT/pages/ignite.adoc | 6 - .../modules/ROOT/pages/infinispan-component.adoc | 12 +- .../modules/ROOT/pages/influxdb-component.adoc | 12 +- .../modules/ROOT/pages/iota-component.adoc | 10 +- .../modules/ROOT/pages/ipfs-component.adoc | 6 +- .../modules/ROOT/pages/irc-component.adoc | 12 +- .../modules/ROOT/pages/ironmq-component.adoc | 6 +- docs/components/modules/ROOT/pages/jasypt.adoc | 7 - .../modules/ROOT/pages/jbpm-component.adoc | 14 +- .../modules/ROOT/pages/jcache-component.adoc | 6 +- .../modules/ROOT/pages/jclouds-component.adoc | 16 +- .../modules/ROOT/pages/jcr-component.adoc | 12 +- .../modules/ROOT/pages/jdbc-component.adoc | 6 +- .../modules/ROOT/pages/jetty-component.adoc | 6 +- .../modules/ROOT/pages/jgroups-component.adoc | 6 +- .../modules/ROOT/pages/jgroups-raft-component.adoc | 6 +- .../modules/ROOT/pages/jing-component.adoc | 12 +- .../modules/ROOT/pages/jira-component.adoc | 6 +- .../modules/ROOT/pages/jms-component.adoc | 9 +- .../modules/ROOT/pages/jmx-component.adoc | 6 +- .../modules/ROOT/pages/jolt-component.adoc | 12 +- .../modules/ROOT/pages/jooq-component.adoc | 6 +- .../modules/ROOT/pages/jpa-component.adoc | 16 +- .../ROOT/pages/json-validator-component.adoc | 6 +- .../modules/ROOT/pages/jt400-component.adoc | 12 +- .../modules/ROOT/pages/kafka-component.adoc | 6 +- .../pages/kubernetes-config-maps-component.adoc | 6 +- .../pages/kubernetes-deployments-component.adoc | 6 +- .../ROOT/pages/kubernetes-hpa-component.adoc | 6 +- .../ROOT/pages/kubernetes-job-component.adoc | 6 +- .../pages/kubernetes-namespaces-component.adoc | 6 +- .../ROOT/pages/kubernetes-nodes-component.adoc | 6 +- ...rnetes-persistent-volumes-claims-component.adoc | 6 +- .../kubernetes-persistent-volumes-component.adoc | 6 +- .../ROOT/pages/kubernetes-pods-component.adoc | 6 +- ...bernetes-replication-controllers-component.adoc | 6 +- .../kubernetes-resources-quota-component.adoc | 6 +- .../ROOT/pages/kubernetes-secrets-component.adoc | 6 +- .../kubernetes-service-accounts-component.adoc | 6 +- .../ROOT/pages/kubernetes-services-component.adoc | 6 +- docs/components/modules/ROOT/pages/kura.adoc | 8 - .../modules/ROOT/pages/language-component.adoc | 6 +- .../modules/ROOT/pages/ldap-component.adoc | 12 +- .../modules/ROOT/pages/ldif-component.adoc | 6 +- docs/components/modules/ROOT/pages/leveldb.adoc | 12 - .../modules/ROOT/pages/linkedin-component.adoc | 6 +- .../modules/ROOT/pages/log-component.adoc | 10 +- .../modules/ROOT/pages/lpr-component.adoc | 6 +- .../modules/ROOT/pages/lucene-component.adoc | 6 +- .../modules/ROOT/pages/lumberjack-component.adoc | 6 +- .../modules/ROOT/pages/mail-component.adoc | 12 +- .../modules/ROOT/pages/master-component.adoc | 12 +- .../modules/ROOT/pages/metrics-component.adoc | 10 +- .../modules/ROOT/pages/micrometer-component.adoc | 6 +- .../modules/ROOT/pages/milo-client-component.adoc | 12 +- .../modules/ROOT/pages/milo-server-component.adoc | 17 +- .../modules/ROOT/pages/mina-component.adoc | 33 +- .../modules/ROOT/pages/mllp-component.adoc | 6 +- .../modules/ROOT/pages/mock-component.adoc | 7 +- .../modules/ROOT/pages/mongodb-component.adoc | 15 +- .../ROOT/pages/mongodb-gridfs-component.adoc | 6 +- .../modules/ROOT/pages/mqtt-component.adoc | 12 +- .../modules/ROOT/pages/msv-component.adoc | 12 +- .../modules/ROOT/pages/mustache-component.adoc | 12 +- .../modules/ROOT/pages/mvel-component.adoc | 12 +- .../modules/ROOT/pages/mvel-language.adoc | 3 +- .../modules/ROOT/pages/mybatis-bean-component.adoc | 6 +- .../modules/ROOT/pages/mybatis-component.adoc | 6 +- .../modules/ROOT/pages/nagios-component.adoc | 12 +- .../modules/ROOT/pages/nats-component.adoc | 6 +- .../modules/ROOT/pages/netty-component.adoc | 30 +- .../modules/ROOT/pages/netty-http-component.adoc | 60 +- .../modules/ROOT/pages/nsq-component.adoc | 6 +- .../modules/ROOT/pages/olingo2-component.adoc | 6 +- .../modules/ROOT/pages/olingo4-component.adoc | 22 +- .../pages/openshift-build-configs-component.adoc | 3 +- .../ROOT/pages/openshift-builds-component.adoc | 3 +- .../ROOT/pages/openstack-cinder-component.adoc | 14 +- .../ROOT/pages/openstack-glance-component.adoc | 14 +- .../ROOT/pages/openstack-keystone-component.adoc | 14 +- .../ROOT/pages/openstack-neutron-component.adoc | 14 +- .../ROOT/pages/openstack-nova-component.adoc | 14 +- .../ROOT/pages/openstack-swift-component.adoc | 14 +- .../modules/ROOT/pages/optaplanner-component.adoc | 12 +- .../modules/ROOT/pages/paho-component.adoc | 6 +- .../modules/ROOT/pages/paxlogging-component.adoc | 3 +- .../modules/ROOT/pages/pdf-component.adoc | 16 +- .../ROOT/pages/pg-replication-slot-component.adoc | 12 +- .../modules/ROOT/pages/pgevent-component.adoc | 12 +- .../modules/ROOT/pages/pgp-dataformat.adoc | 5 - .../modules/ROOT/pages/properties-component.adoc | 11 +- .../modules/ROOT/pages/protobuf-dataformat.adoc | 2 - .../modules/ROOT/pages/pubnub-component.adoc | 14 +- .../modules/ROOT/pages/pulsar-component.adoc | 19 +- .../modules/ROOT/pages/quartz-component.adoc | 6 +- .../modules/ROOT/pages/quickfix-component.adoc | 12 +- .../modules/ROOT/pages/rabbitmq-component.adoc | 6 +- .../ROOT/pages/reactive-streams-component.adoc | 12 +- .../modules/ROOT/pages/ref-component.adoc | 6 +- .../modules/ROOT/pages/rest-api-component.adoc | 10 +- .../modules/ROOT/pages/rest-component.adoc | 10 +- .../modules/ROOT/pages/rest-swagger-component.adoc | 6 +- .../modules/ROOT/pages/restlet-component.adoc | 6 +- docs/components/modules/ROOT/pages/ribbon.adoc | 3 - .../modules/ROOT/pages/rss-component.adoc | 14 +- .../modules/ROOT/pages/rss-dataformat.adoc | 3 +- .../modules/ROOT/pages/saga-component.adoc | 6 +- .../modules/ROOT/pages/salesforce-component.adoc | 6 +- .../ROOT/pages/sap-netweaver-component.adoc | 14 +- .../modules/ROOT/pages/scheduler-component.adoc | 10 +- .../modules/ROOT/pages/schematron-component.adoc | 6 +- .../modules/ROOT/pages/scp-component.adoc | 12 +- .../modules/ROOT/pages/seda-component.adoc | 12 +- .../modules/ROOT/pages/service-component.adoc | 12 +- .../modules/ROOT/pages/servicenow-component.adoc | 6 +- .../modules/ROOT/pages/servlet-component.adoc | 15 +- .../modules/ROOT/pages/sftp-component.adoc | 3 +- .../modules/ROOT/pages/sip-component.adoc | 6 +- .../modules/ROOT/pages/sjms-batch-component.adoc | 6 +- .../modules/ROOT/pages/sjms-component.adoc | 6 +- .../modules/ROOT/pages/sjms2-component.adoc | 6 +- .../modules/ROOT/pages/slack-component.adoc | 12 +- .../modules/ROOT/pages/smpp-component.adoc | 12 +- .../modules/ROOT/pages/snmp-component.adoc | 12 +- .../modules/ROOT/pages/solr-component.adoc | 12 +- .../modules/ROOT/pages/soroush-component.adoc | 6 +- .../modules/ROOT/pages/spark-component.adoc | 12 +- .../modules/ROOT/pages/spark-rest-component.adoc | 3 +- .../modules/ROOT/pages/splunk-component.adoc | 12 +- .../modules/ROOT/pages/spring-batch-component.adoc | 6 +- .../modules/ROOT/pages/spring-event-component.adoc | 12 +- .../ROOT/pages/spring-integration-component.adoc | 12 +- .../modules/ROOT/pages/spring-ldap-component.adoc | 6 +- .../modules/ROOT/pages/spring-redis-component.adoc | 12 +- .../modules/ROOT/pages/spring-security.adoc | 10 - .../modules/ROOT/pages/spring-ws-component.adoc | 12 +- docs/components/modules/ROOT/pages/spring.adoc | 12 - .../modules/ROOT/pages/sql-component.adoc | 6 +- .../modules/ROOT/pages/sql-stored-component.adoc | 9 +- .../modules/ROOT/pages/ssh-component.adoc | 12 +- .../modules/ROOT/pages/stax-component.adoc | 12 +- .../modules/ROOT/pages/stomp-component.adoc | 12 +- .../modules/ROOT/pages/stream-component.adoc | 6 +- .../ROOT/pages/string-template-component.adoc | 12 +- .../modules/ROOT/pages/stub-component.adoc | 6 +- .../modules/ROOT/pages/syslog-dataformat.adoc | 6 - .../modules/ROOT/pages/telegram-component.adoc | 6 +- docs/components/modules/ROOT/pages/test-cdi.adoc | 10 - .../modules/ROOT/pages/thrift-component.adoc | 12 +- .../modules/ROOT/pages/thrift-dataformat.adoc | 3 +- .../modules/ROOT/pages/tika-component.adoc | 6 +- .../modules/ROOT/pages/timer-component.adoc | 10 +- .../modules/ROOT/pages/twilio-component.adoc | 6 +- .../pages/twitter-directmessage-component.adoc | 6 +- .../ROOT/pages/twitter-search-component.adoc | 6 +- .../ROOT/pages/twitter-timeline-component.adoc | 6 +- .../modules/ROOT/pages/undertow-component.adoc | 6 +- .../modules/ROOT/pages/validator-component.adoc | 6 +- .../modules/ROOT/pages/velocity-component.adoc | 12 +- .../modules/ROOT/pages/vertx-component.adoc | 12 +- .../modules/ROOT/pages/vm-component.adoc | 9 +- .../modules/ROOT/pages/weather-component.adoc | 6 +- .../modules/ROOT/pages/web3j-component.adoc | 6 +- .../modules/ROOT/pages/webhook-component.adoc | 6 +- .../modules/ROOT/pages/websocket-component.adoc | 18 +- .../ROOT/pages/websocket-jsr356-component.adoc | 6 +- .../modules/ROOT/pages/wordpress-component.adoc | 6 +- .../modules/ROOT/pages/xchange-component.adoc | 6 +- .../modules/ROOT/pages/xmlsecurity-component.adoc | 9 +- .../modules/ROOT/pages/xmpp-component.adoc | 12 +- .../modules/ROOT/pages/xquery-component.adoc | 6 +- .../modules/ROOT/pages/xquery-language.adoc | 3 +- .../modules/ROOT/pages/xslt-component.adoc | 12 +- .../modules/ROOT/pages/yammer-component.adoc | 6 +- .../modules/ROOT/pages/zendesk-component.adoc | 6 +- .../modules/ROOT/pages/zookeeper-component.adoc | 6 +- .../ROOT/pages/zookeeper-master-component.adoc | 12 +- ...configuration-of-camelcontext-using-spring.adoc | 7 - docs/user-manual/modules/ROOT/pages/async.adoc | 10 - .../modules/ROOT/pages/backlog-tracer.adoc | 8 - .../modules/ROOT/pages/backlogdebugger.adoc | 7 - .../modules/ROOT/pages/batch-consumer.adoc | 5 - docs/user-manual/modules/ROOT/pages/bean-eip.adoc | 5 - docs/user-manual/modules/ROOT/pages/building.adoc | 6 - .../modules/ROOT/pages/camelcontext.adoc | 8 - docs/user-manual/modules/ROOT/pages/component.adoc | 9 - .../modules/ROOT/pages/configuring-camel.adoc | 5 - ...ing-route-startup-ordering-and-autostartup.adoc | 6 - .../modules/ROOT/pages/console-example.adoc | 4 - .../ROOT/pages/cronscheduledroutepolicy.adoc | 7 - docs/user-manual/modules/ROOT/pages/debugger.adoc | 6 - .../modules/ROOT/pages/defaulterrorhandler.adoc | 5 - docs/user-manual/modules/ROOT/pages/delay-eip.adoc | 4 - .../modules/ROOT/pages/delay-interceptor.adoc | 6 - docs/user-manual/modules/ROOT/pages/dsl.adoc | 10 - docs/user-manual/modules/ROOT/pages/endpoint.adoc | 7 - .../modules/ROOT/pages/error-handler.adoc | 17 - .../ROOT/pages/error-handling-in-camel.adoc | 11 - docs/user-manual/modules/ROOT/pages/examples.adoc | 5 - .../modules/ROOT/pages/exception-clause.adoc | 6 - docs/user-manual/modules/ROOT/pages/exchange.adoc | 7 - .../user-manual/modules/ROOT/pages/expression.adoc | 5 - ...an-i-create-a-custom-component-or-endpoint.adoc | 6 - .../faq/how-can-i-stop-a-route-from-a-route.adoc | 7 - .../pages/faq/how-do-i-configure-endpoints.adoc | 8 - ...-endpoints-without-the-value-being-encoded.adoc | 4 - ...size-for-producercache-or-producertemplate.adoc | 4 - ...ximum-endpoint-cache-size-for-camelcontext.adoc | 4 - ...en-consuming-for-example-from-a-ftp-server.adoc | 5 - ...ow-do-i-make-my-jms-endpoint-transactional.adoc | 5 - .../how-does-camel-compare-to-servicemix-eip.adoc | 9 - .../faq/how-does-camel-compare-to-servicemix.adoc | 9 - .../faq/how-does-camel-work-with-servicemix.adoc | 9 - ...hould-i-invoke-my-pojos-or-spring-services.adoc | 6 - ...f-i-use-servicemix-when-should-i-use-camel.adoc | 7 - ...-activemq-broker-or-in-another-application.adoc | 4 - .../faq/why-cant-i-use-sign-in-my-password.adoc | 4 - ...jms-route-only-consume-one-message-at-once.adoc | 4 - ...is-my-processor-not-showing-up-in-jconsole.adoc | 5 - .../modules/ROOT/pages/graceful-shutdown.adoc | 9 - .../user-manual/modules/ROOT/pages/groovy-dsl.adoc | 4 - docs/user-manual/modules/ROOT/pages/java-dsl.adoc | 6 - docs/user-manual/modules/ROOT/pages/lifecycle.adoc | 7 - .../modules/ROOT/pages/message-channel.adoc | 6 - .../modules/ROOT/pages/message-endpoint.adoc | 9 - .../modules/ROOT/pages/oncompletion.adoc | 7 - .../modules/ROOT/pages/polling-consumer.adoc | 5 - docs/user-manual/modules/ROOT/pages/predicate.adoc | 4 - .../modules/ROOT/pages/process-eip.adoc | 6 - docs/user-manual/modules/ROOT/pages/processor.adoc | 6 - .../modules/ROOT/pages/rollback-eip.adoc | 9 - .../modules/ROOT/pages/route-builder.adoc | 5 - .../modules/ROOT/pages/route-policy.adoc | 9 - .../modules/ROOT/pages/scripting-languages.adoc | 7 - .../modules/ROOT/pages/servicepool.adoc | 5 - .../modules/ROOT/pages/servlet-tomcat-example.adoc | 6 - .../ROOT/pages/simplescheduledroutepolicy.adoc | 7 - .../modules/ROOT/pages/spring-testing.adoc | 12 - docs/user-manual/modules/ROOT/pages/spring.adoc | 8 - .../user-manual/modules/ROOT/pages/templating.adoc | 5 - .../modules/ROOT/pages/threading-model.adoc | 6 - docs/user-manual/modules/ROOT/pages/tracer.adoc | 5 - .../modules/ROOT/pages/transactional-client.adoc | 8 - .../ROOT/pages/transactionerrorhandler.adoc | 6 - docs/user-manual/modules/ROOT/pages/transport.adoc | 9 - .../modules/ROOT/pages/try-catch-finally.adoc | 6 - .../ROOT/pages/using-propertyplaceholder.adoc | 5 - .../ROOT/pages/walk-through-another-example.adoc | 4 - .../modules/ROOT/pages/writing-components.adoc | 8 - .../modules/ROOT/pages/xml-configuration.adoc | 5 - .../META-INF/spring-configuration-metadata.json | 2 +- .../META-INF/spring-configuration-metadata.json | 2 +- .../META-INF/spring-configuration-metadata.json | 2 +- .../camel/example/netty/MyCodecDecoderFactory.java | 2 +- .../camel/example/netty/MyCodecEncoderFactory.java | 2 +- .../camel/example/netty/MyCorrelationManager.java | 4 +- .../camel-example-netty-http/myapp-cdi/pom.xml | 4 +- .../camel/example/netty/cdi/NettyHttpRoute.java | 2 +- .../camel-example-netty-http/myapp-one/pom.xml | 4 +- .../resources/OSGI-INF/blueprint/camel-one.xml | 2 +- .../camel-example-netty-http/myapp-two/pom.xml | 4 +- .../resources/OSGI-INF/blueprint/camel-two.xml | 2 +- .../shared-netty-http-server/pom.xml | 4 +- .../resources/OSGI-INF/blueprint/http-server.xml | 6 +- parent/pom.xml | 15 +- .../karaf/features/src/main/resources/features.xml | 126 +- .../springboot/ActiveMQComponentConfiguration.java | 15 - .../ahc/springboot/AhcComponentConfiguration.java | 15 - .../ws/springboot/WsComponentConfiguration.java | 15 - .../springboot/AMQPComponentConfiguration.java | 15 - .../springboot/ApnsComponentConfiguration.java | 15 - .../as2/springboot/AS2ComponentConfiguration.java | 15 - .../springboot/AsteriskComponentConfiguration.java | 15 - .../springboot/AtmosComponentConfiguration.java | 15 - .../WebsocketComponentConfiguration.java | 15 - .../springboot/AtomComponentConfiguration.java | 15 - .../AtomixMapComponentConfiguration.java | 15 - .../AtomixMessagingComponentConfiguration.java | 15 - .../AtomixMultiMapComponentConfiguration.java | 15 - .../AtomixQueueComponentConfiguration.java | 15 - .../AtomixSetComponentConfiguration.java | 15 - .../AtomixValueComponentConfiguration.java | 15 - .../springboot/AvroComponentConfiguration.java | 15 - .../cw/springboot/CwComponentConfiguration.java | 15 - .../ddb/springboot/DdbComponentConfiguration.java | 15 - .../DdbStreamComponentConfiguration.java | 15 - .../ec2/springboot/EC2ComponentConfiguration.java | 15 - .../ecs/springboot/ECSComponentConfiguration.java | 15 - .../eks/springboot/EKSComponentConfiguration.java | 15 - .../iam/springboot/IAMComponentConfiguration.java | 15 - .../KinesisFirehoseComponentConfiguration.java | 15 - .../springboot/KinesisComponentConfiguration.java | 15 - .../kms/springboot/KMSComponentConfiguration.java | 15 - .../springboot/LambdaComponentConfiguration.java | 15 - .../mq/springboot/MQComponentConfiguration.java | 15 - .../msk/springboot/MSKComponentConfiguration.java | 15 - .../s3/springboot/S3ComponentConfiguration.java | 15 - .../sdb/springboot/SdbComponentConfiguration.java | 15 - .../ses/springboot/SesComponentConfiguration.java | 15 - .../sns/springboot/SnsComponentConfiguration.java | 15 - .../sqs/springboot/SqsComponentConfiguration.java | 15 - .../swf/springboot/SWFComponentConfiguration.java | 15 - .../BlobServiceComponentConfiguration.java | 15 - .../QueueServiceComponentConfiguration.java | 15 - .../springboot/BeanComponentConfiguration.java | 15 - .../springboot/ClassComponentConfiguration.java | 15 - .../BeanValidatorComponentConfiguration.java | 15 - .../BeanstalkComponentConfiguration.java | 15 - .../springboot/BonitaComponentConfiguration.java | 15 - .../box/springboot/BoxComponentConfiguration.java | 15 - .../BraintreeComponentConfiguration.java | 15 - .../springboot/BrowseComponentConfiguration.java | 15 - .../CaffeineCacheComponentConfiguration.java | 15 - .../CaffeineLoadCacheComponentConfiguration.java | 15 - .../CassandraComponentConfiguration.java | 15 - .../ChatScriptComponentConfiguration.java | 15 - .../springboot/ChunkComponentConfiguration.java | 15 - .../cm/springboot/CMComponentConfiguration.java | 15 - .../springboot/CMISComponentConfiguration.java | 15 - .../springboot/CoAPComponentConfiguration.java | 15 - .../springboot/CometdComponentConfiguration.java | 15 - .../springboot/ConsulComponentConfiguration.java | 15 - .../ControlBusComponentConfiguration.java | 15 - .../springboot/CordaComponentConfiguration.java | 15 - .../CouchbaseComponentConfiguration.java | 15 - .../springboot/CouchDbComponentConfiguration.java | 15 - .../CryptoCmsComponentConfiguration.java | 15 - .../DigitalSignatureComponentConfiguration.java | 15 - .../springboot/CxfRsComponentConfiguration.java | 15 - .../cxf/springboot/CxfComponentConfiguration.java | 15 - .../DataFormatComponentConfiguration.java | 15 - .../springboot/DataSetComponentConfiguration.java | 15 - .../DataSetTestComponentConfiguration.java | 15 - .../DigitalOceanComponentConfiguration.java | 15 - .../springboot/DirectComponentConfiguration.java | 15 - .../springboot/DirectVmComponentConfiguration.java | 15 - .../DisruptorComponentConfiguration.java | 15 - .../DisruptorVmComponentConfiguration.java | 15 - .../dns/springboot/DnsComponentConfiguration.java | 15 - .../springboot/DockerComponentConfiguration.java | 15 - .../springboot/DozerComponentConfiguration.java | 15 - .../springboot/DrillComponentConfiguration.java | 15 - .../springboot/DropboxComponentConfiguration.java | 15 - .../springboot/EhcacheComponentConfiguration.java | 15 - .../ElasticsearchComponentConfiguration.java | 15 - .../springboot/ElsqlComponentConfiguration.java | 15 - .../springboot/EtcdComponentConfiguration.java | 15 - .../springboot/ExecComponentConfiguration.java | 15 - .../springboot/FacebookComponentConfiguration.java | 15 - .../springboot/FhirComponentConfiguration.java | 15 - .../springboot/FileComponentConfiguration.java | 15 - .../FileWatchComponentConfiguration.java | 15 - .../springboot/FlatpackComponentConfiguration.java | 15 - .../springboot/FlinkComponentConfiguration.java | 15 - .../fop/springboot/FopComponentConfiguration.java | 15 - .../FreemarkerComponentConfiguration.java | 15 - .../springboot/FtpComponentConfiguration.java | 15 - .../springboot/FtpsComponentConfiguration.java | 15 - .../springboot/SftpComponentConfiguration.java | 15 - .../springboot/GangliaComponentConfiguration.java | 15 - .../springboot/GeoCoderComponentConfiguration.java | 15 - .../git/springboot/GitComponentConfiguration.java | 15 - .../springboot/GitHubComponentConfiguration.java | 15 - .../GoogleBigQueryComponentConfiguration.java | 15 - .../GoogleBigQuerySQLComponentConfiguration.java | 15 - .../GoogleCalendarComponentConfiguration.java | 15 - ...GoogleCalendarStreamComponentConfiguration.java | 15 - .../GoogleDriveComponentConfiguration.java | 15 - .../GoogleMailComponentConfiguration.java | 15 - .../GoogleMailStreamComponentConfiguration.java | 15 - .../GooglePubsubComponentConfiguration.java | 15 - .../GoogleSheetsComponentConfiguration.java | 15 - .../GoogleSheetsStreamComponentConfiguration.java | 15 - .../springboot/GoraComponentConfiguration.java | 15 - .../springboot/GrpcComponentConfiguration.java | 15 - .../GuavaEventBusComponentConfiguration.java | 15 - ...azelcastAtomicnumberComponentConfiguration.java | 15 - .../HazelcastInstanceComponentConfiguration.java | 15 - .../HazelcastListComponentConfiguration.java | 15 - .../HazelcastMapComponentConfiguration.java | 15 - .../HazelcastMultimapComponentConfiguration.java | 15 - .../HazelcastQueueComponentConfiguration.java | 15 - ...zelcastReplicatedmapComponentConfiguration.java | 15 - .../HazelcastRingbufferComponentConfiguration.java | 15 - .../HazelcastSedaComponentConfiguration.java | 15 - .../HazelcastSetComponentConfiguration.java | 15 - .../HazelcastTopicComponentConfiguration.java | 15 - .../springboot/HBaseComponentConfiguration.java | 15 - .../springboot/HdfsComponentConfiguration.java | 15 - .../springboot/HipchatComponentConfiguration.java | 15 - .../springboot/HttpComponentConfiguration.java | 15 - .../springboot/ClientComponentConfiguration.java | 15 - .../springboot/ServerComponentConfiguration.java | 15 - .../IgniteCacheComponentConfiguration.java | 15 - .../IgniteComputeComponentConfiguration.java | 15 - .../IgniteEventsComponentConfiguration.java | 15 - .../IgniteIdGenComponentConfiguration.java | 15 - .../IgniteMessagingComponentConfiguration.java | 15 - .../IgniteQueueComponentConfiguration.java | 15 - .../IgniteSetComponentConfiguration.java | 15 - .../InfinispanComponentConfiguration.java | 15 - .../springboot/InfluxDbComponentConfiguration.java | 15 - .../springboot/IOTAComponentConfiguration.java | 15 - .../springboot/IPFSComponentConfiguration.java | 15 - .../irc/springboot/IrcComponentConfiguration.java | 15 - .../springboot/IronMQComponentConfiguration.java | 15 - .../springboot/JBPMComponentConfiguration.java | 15 - .../springboot/JCacheComponentConfiguration.java | 15 - .../springboot/JcloudsComponentConfiguration.java | 15 - .../jcr/springboot/JcrComponentConfiguration.java | 15 - .../springboot/JdbcComponentConfiguration.java | 15 - .../JettyHttpComponentConfiguration9.java | 15 - .../JGroupsRaftComponentConfiguration.java | 15 - .../springboot/JGroupsComponentConfiguration.java | 15 - .../springboot/JingComponentConfiguration.java | 15 - .../springboot/JiraComponentConfiguration.java | 15 - .../jms/springboot/JmsComponentConfiguration.java | 15 - .../jmx/springboot/JMXComponentConfiguration.java | 15 - .../springboot/JoltComponentConfiguration.java | 15 - .../springboot/JooqComponentConfiguration.java | 15 - .../jpa/springboot/JpaComponentConfiguration.java | 15 - .../scp/springboot/ScpComponentConfiguration.java | 15 - .../JsonValidatorComponentConfiguration.java | 15 - .../springboot/Jt400ComponentConfiguration.java | 15 - .../springboot/KafkaComponentConfiguration.java | 15 - ...KubernetesConfigMapsComponentConfiguration.java | 15 - ...ubernetesDeploymentsComponentConfiguration.java | 15 - .../KubernetesHPAComponentConfiguration.java | 15 - .../KubernetesJobComponentConfiguration.java | 15 - ...KubernetesNamespacesComponentConfiguration.java | 15 - .../KubernetesNodesComponentConfiguration.java | 15 - ...tesPersistentVolumesComponentConfiguration.java | 15 - ...sistentVolumesClaimsComponentConfiguration.java | 15 - .../KubernetesPodsComponentConfiguration.java | 15 - ...plicationControllersComponentConfiguration.java | 15 - ...rnetesResourcesQuotaComponentConfiguration.java | 15 - .../KubernetesSecretsComponentConfiguration.java | 15 - ...netesServiceAccountsComponentConfiguration.java | 15 - .../KubernetesServicesComponentConfiguration.java | 15 - ...penshiftBuildConfigsComponentConfiguration.java | 15 - .../OpenshiftBuildsComponentConfiguration.java | 15 - .../springboot/LanguageComponentConfiguration.java | 15 - .../springboot/LdapComponentConfiguration.java | 15 - .../springboot/LdifComponentConfiguration.java | 15 - .../springboot/LinkedInComponentConfiguration.java | 15 - .../log/springboot/LogComponentConfiguration.java | 15 - .../springboot/LuceneComponentConfiguration.java | 15 - .../LumberjackComponentConfiguration.java | 15 - .../springboot/MailComponentConfiguration.java | 15 - .../springboot/MasterComponentConfiguration.java | 15 - .../springboot/MetricsComponentConfiguration.java | 15 - .../MicrometerComponentConfiguration.java | 15 - .../MiloClientComponentConfiguration.java | 15 - .../MiloServerComponentConfiguration.java | 15 - .../springboot/MinaComponentAutoConfiguration.java | 128 ++ .../springboot/MinaComponentConfiguration.java | 432 +++++ .../Mina2ComponentAutoConfiguration.java | 128 -- .../springboot/Mina2ComponentConfiguration.java | 448 ----- .../src/main/resources/META-INF/spring.factories | 3 +- .../springboot/MllpComponentConfiguration.java | 15 - .../springboot/MockComponentConfiguration.java | 15 - .../springboot/GridFsComponentConfiguration.java | 15 - .../MongoDbComponentAutoConfiguration.java | 128 ++ .../springboot/MongoDbComponentConfiguration.java | 66 + .../MongoDbComponentAutoConfiguration.java | 128 -- .../springboot/MongoDbComponentConfiguration.java | 81 - .../src/main/resources/META-INF/spring.factories | 2 +- .../springboot/MQTTComponentConfiguration.java | 15 - .../msv/springboot/MsvComponentConfiguration.java | 15 - .../springboot/MustacheComponentConfiguration.java | 15 - .../springboot/MvelComponentConfiguration.java | 15 - .../MyBatisBeanComponentConfiguration.java | 15 - .../springboot/MyBatisComponentConfiguration.java | 15 - .../springboot/NagiosComponentConfiguration.java | 15 - .../springboot/NatsComponentConfiguration.java | 15 - .../NettyHttpComponentAutoConfiguration.java | 128 ++ .../NettyHttpComponentConfiguration.java | 521 ++++++ .../NettyHttpComponentAutoConfiguration.java | 128 -- .../NettyHttpComponentConfiguration.java | 536 ------ .../src/main/resources/META-INF/spring.factories | 2 +- .../NettyComponentAutoConfiguration.java | 128 ++ .../springboot/NettyComponentConfiguration.java | 1146 ++++++++++++ .../NettyComponentAutoConfiguration.java | 128 -- .../springboot/NettyComponentConfiguration.java | 1161 ------------ .../src/main/resources/META-INF/spring.factories | 2 +- .../nsq/springboot/NsqComponentConfiguration.java | 15 - .../springboot/Olingo2ComponentConfiguration.java | 15 - .../springboot/Olingo4ComponentConfiguration.java | 15 - .../springboot/CinderComponentConfiguration.java | 15 - .../springboot/GlanceComponentConfiguration.java | 15 - .../springboot/KeystoneComponentConfiguration.java | 15 - .../springboot/NeutronComponentConfiguration.java | 15 - .../springboot/NovaComponentConfiguration.java | 15 - .../springboot/SwiftComponentConfiguration.java | 15 - .../OptaPlannerComponentConfiguration.java | 15 - .../springboot/PahoComponentConfiguration.java | 15 - .../pdf/springboot/PdfComponentConfiguration.java | 15 - .../PgReplicationSlotComponentConfiguration.java | 15 - .../springboot/PgEventComponentConfiguration.java | 15 - .../springboot/PrinterComponentConfiguration.java | 15 - .../PropertiesComponentConfiguration.java | 15 - .../springboot/PubNubComponentConfiguration.java | 15 - .../springboot/PulsarComponentConfiguration.java | 15 - .../springboot/QuartzComponentConfiguration.java | 15 - .../QuickfixjComponentConfiguration.java | 15 - .../springboot/RabbitMQComponentConfiguration.java | 15 - .../ReactiveStreamsComponentConfiguration.java | 15 - .../ref/springboot/RefComponentConfiguration.java | 15 - .../springboot/RestApiComponentConfiguration.java | 15 - .../springboot/RestComponentConfiguration.java | 15 - .../RestSwaggerComponentConfiguration.java | 15 - .../springboot/RestletComponentConfiguration.java | 15 - .../rss/springboot/RssComponentConfiguration.java | 15 - .../springboot/SagaComponentConfiguration.java | 15 - .../SalesforceComponentConfiguration.java | 15 - .../NetWeaverComponentConfiguration.java | 15 - .../springboot/XQueryComponentConfiguration.java | 15 - .../SchedulerComponentConfiguration.java | 15 - .../SchematronComponentConfiguration.java | 15 - .../springboot/SedaComponentConfiguration.java | 15 - .../springboot/ServiceComponentConfiguration.java | 15 - .../ServiceNowComponentConfiguration.java | 15 - .../springboot/ServletComponentConfiguration.java | 15 - .../sip/springboot/SipComponentConfiguration.java | 15 - .../SjmsBatchComponentConfiguration.java | 15 - .../springboot/SjmsComponentConfiguration.java | 15 - .../springboot/Sjms2ComponentConfiguration.java | 15 - .../springboot/SlackComponentConfiguration.java | 15 - .../springboot/SmppComponentConfiguration.java | 15 - .../springboot/SnmpComponentConfiguration.java | 15 - .../springboot/SolrComponentConfiguration.java | 15 - .../SoroushBotComponentConfiguration.java | 15 - .../springboot/SparkComponentConfiguration.java | 15 - .../springboot/SplunkComponentConfiguration.java | 15 - .../SpringBatchComponentConfiguration.java | 15 - .../SpringIntegrationComponentConfiguration.java | 15 - .../SpringLdapComponentConfiguration.java | 15 - .../springboot/RedisComponentConfiguration.java | 15 - .../springboot/EventComponentConfiguration.java | 15 - .../SpringWebserviceComponentConfiguration.java | 15 - .../sql/springboot/SqlComponentConfiguration.java | 15 - .../SqlStoredComponentConfiguration.java | 15 - .../ssh/springboot/SshComponentConfiguration.java | 15 - .../springboot/StAXComponentConfiguration.java | 15 - .../springboot/StompComponentConfiguration.java | 15 - .../springboot/StreamComponentConfiguration.java | 15 - .../StringTemplateComponentConfiguration.java | 15 - .../springboot/StubComponentConfiguration.java | 15 - .../springboot/TelegramComponentConfiguration.java | 15 - .../springboot/ThriftComponentConfiguration.java | 15 - .../springboot/TikaComponentConfiguration.java | 15 - .../springboot/TimerComponentConfiguration.java | 15 - .../springboot/TwilioComponentConfiguration.java | 15 - ...TwitterDirectMessageComponentConfiguration.java | 15 - .../TwitterSearchComponentConfiguration.java | 15 - .../TwitterTimelineComponentConfiguration.java | 15 - .../springboot/UndertowComponentConfiguration.java | 15 - .../ValidatorComponentConfiguration.java | 15 - .../springboot/VelocityComponentConfiguration.java | 15 - .../springboot/VertxComponentConfiguration.java | 15 - .../vm/springboot/VmComponentConfiguration.java | 15 - .../springboot/WeatherComponentConfiguration.java | 15 - .../springboot/Web3jComponentConfiguration.java | 15 - .../springboot/WebhookComponentConfiguration.java | 15 - .../JSR356WebSocketComponentConfiguration.java | 15 - .../WebsocketComponentConfiguration.java | 15 - .../WordpressComponentConfiguration.java | 15 - .../springboot/XChangeComponentConfiguration.java | 15 - .../XmlSignatureComponentConfiguration.java | 15 - .../springboot/XmppComponentConfiguration.java | 15 - .../springboot/XsltComponentConfiguration.java | 15 - .../springboot/YammerComponentConfiguration.java | 15 - .../springboot/ZendeskComponentConfiguration.java | 15 - .../springboot/MasterComponentConfiguration.java | 15 - .../ZooKeeperComponentConfiguration.java | 15 - .../camel-spring-boot-dependencies/pom.xml | 56 +- pom.xml | 2 +- .../camel/itest/springboot/CamelMinaTest.java | 2 +- tests/camel-itest/pom.xml | 4 +- .../tools/apt/AbstractTypeConverterGenerator.java | 7 +- .../camel/tools/apt/ConstantProviderProcessor.java | 130 ++ .../apt/CoreEipAnnotationProcessorHelper.java | 80 +- .../camel/tools/apt/DocumentationHelper.java | 2 +- .../camel/tools/apt/ModelAnnotationProcessor.java | 62 +- .../tools/apt/PropertyPlaceholderGenerator.java | 209 +++ .../tools/apt/SpringAnnotationProcessorHelper.java | 10 +- .../services/javax.annotation.processing.Processor | 1 + .../camel/spi/annotations/ConstantProvider.java | 32 + 1958 files changed, 48586 insertions(+), 55405 deletions(-) diff --cc components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/BaseNettyTest.java index 0000000,de4a7c2..7ab48b7 mode 000000,100644..100644 --- a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/BaseNettyTest.java +++ b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/BaseNettyTest.java @@@ -1,0 -1,126 +1,102 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.camel.component.netty.http; + import java.io.File; + import java.io.FileOutputStream; + import java.util.Collection; + import java.util.Properties; + + import io.netty.buffer.ByteBufAllocator; + import io.netty.util.ResourceLeakDetector; + + import org.apache.camel.BindToRegistry; + import org.apache.camel.CamelContext; + import org.apache.camel.component.properties.PropertiesComponent; + import org.apache.camel.converter.IOConverter; + import org.apache.camel.test.AvailablePortFinder; + import org.apache.camel.test.junit4.CamelTestSupport; + import org.apache.logging.log4j.core.LogEvent; + import org.junit.AfterClass; ++import org.junit.Before; + import org.junit.BeforeClass; + import org.slf4j.Logger; + import org.slf4j.LoggerFactory; + + /** + * + */ + public class BaseNettyTest extends CamelTestSupport { + protected static final Logger LOG = LoggerFactory.getLogger(BaseNettyTest.class); + + private static volatile int port; + + @BeforeClass + public static void initPort() throws Exception { - File file = new File("target/nettyport.txt"); - - if (!file.exists()) { - // start from somewhere in the 26xxx range - port = AvailablePortFinder.getNextAvailable(26000); - } else { - // read port number from file - String s = IOConverter.toString(file, null); - port = Integer.parseInt(s); - // use next free port - port = AvailablePortFinder.getNextAvailable(port + 1); - } - - } - - @AfterClass - public static void savePort() throws Exception { - File file = new File("target/nettyport.txt"); - - // save to file, do not append - FileOutputStream fos = new FileOutputStream(file, false); - try { - fos.write(String.valueOf(port).getBytes()); - } finally { - fos.close(); - } ++ port = AvailablePortFinder.getNextAvailable(); + } + + @BeforeClass + public static void startLeakDetection() { + System.setProperty("io.netty.leakDetection.maxRecords", "100"); + System.setProperty("io.netty.leakDetection.acquireAndReleaseOnly", "true"); + ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.PARANOID); + } + + @AfterClass + public static void verifyNoLeaks() throws Exception { + //Force GC to bring up leaks + System.gc(); + //Kick leak detection logging + ByteBufAllocator.DEFAULT.buffer(1).release(); + Collection<LogEvent> events = LogCaptureAppender.getEvents(); + if (!events.isEmpty()) { + String message = "Leaks detected while running tests: " + events; + // Just write the message into log to help debug + for (LogEvent event : events) { + LOG.info(event.getMessage().getFormattedMessage()); + } + LogCaptureAppender.reset(); + throw new AssertionError(message); + } + } + + @Override + protected CamelContext createCamelContext() throws Exception { + CamelContext context = super.createCamelContext(); + context.addComponent("properties", new PropertiesComponent("ref:prop")); + return context; + } + + @BindToRegistry("prop") + public Properties loadProp() throws Exception { + + Properties prop = new Properties(); + prop.setProperty("port", "" + getPort()); + + return prop; + } + + protected int getNextPort() { - port = AvailablePortFinder.getNextAvailable(port + 1); ++ port = AvailablePortFinder.getNextAvailable(); + return port; + } + + protected int getPort() { + return port; + } + + } diff --cc components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpGetWithInvalidMessageTest.java index 0000000,f1e6f40..796dc40 mode 000000,100644..100644 --- a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpGetWithInvalidMessageTest.java +++ b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpGetWithInvalidMessageTest.java @@@ -1,0 -1,105 +1,105 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.camel.component.netty.http; + + import java.util.ArrayList; + import java.util.List; + + import io.netty.channel.ChannelHandler; + import io.netty.handler.codec.string.StringDecoder; + import io.netty.handler.codec.string.StringEncoder; + + import org.apache.camel.BindToRegistry; + import org.apache.camel.Exchange; + import org.apache.camel.Processor; + import org.apache.camel.builder.RouteBuilder; + import org.apache.camel.test.AvailablePortFinder; + import org.apache.camel.test.junit4.CamelTestSupport; + import org.junit.Test; + + public class NettyHttpGetWithInvalidMessageTest extends CamelTestSupport { + private static final String REQUEST_STRING = "user: Willem\n" - + "GET http://localhost:8101/test HTTP/1.1\n" + "another: value\n Host: localhost\n"; ++ + "GET http://localhost:%s/test HTTP/1.1\n" + "another: value\n Host: localhost\n"; + private int port1; + + @BindToRegistry("string-decoder") + private StringDecoder stringDecoder = new StringDecoder(); + + @BindToRegistry("string-encoder") + private StringEncoder stringEncoder = new StringEncoder(); + + @BindToRegistry("encoders") + public List<ChannelHandler> addEncoders() throws Exception { + + List<ChannelHandler> encoders = new ArrayList<>(); + encoders.add(stringEncoder); + + return encoders; + } + + @BindToRegistry("decoders") + public List<ChannelHandler> addDecoders() throws Exception { + + List<ChannelHandler> decoders = new ArrayList<>(); + decoders.add(stringDecoder); + + return decoders; + } + + @Test + public void testNettyHttpServer() throws Exception { - invokeService(8100); ++ invokeService(port1); + } + + //@Test + public void testJettyHttpServer() throws Exception { + invokeService(port1); + } + + private void invokeService(int port) { + Exchange out = template.request("netty:tcp://localhost:" + port + "?encoders=#encoders&decoders=#decoders&sync=true", new Processor() { + @Override + public void process(Exchange exchange) throws Exception { - exchange.getIn().setBody(REQUEST_STRING); ++ exchange.getIn().setBody(String.format(REQUEST_STRING, port)); + } + }); + + assertNotNull(out); + String result = out.getOut().getBody(String.class); + assertNotNull(result); + assertTrue("We should get the 404 response.", result.indexOf("404 Not Found") > 0); + + } + + + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { - port1 = AvailablePortFinder.getNextAvailable(8100); ++ port1 = AvailablePortFinder.getNextAvailable(); + + // set up a netty http proxy + from("netty-http:http://localhost:" + port1 + "/test") + .transform().simple("Bye ${header.user}."); + + } + }; + } + + } diff --cc components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpProducerHeadersTest.java index 0000000,08bc05a..1814847 mode 000000,100644..100644 --- a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpProducerHeadersTest.java +++ b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpProducerHeadersTest.java @@@ -1,0 -1,84 +1,84 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.camel.component.netty.http; + + import java.util.HashMap; + import java.util.Map; + + import org.apache.camel.Exchange; + import org.apache.camel.Processor; + import org.apache.camel.builder.RouteBuilder; + import org.apache.camel.test.AvailablePortFinder; + import org.apache.camel.test.junit4.CamelTestSupport; + import org.junit.Assert; + import org.junit.Ignore; + import org.junit.Test; + + public class NettyHttpProducerHeadersTest extends CamelTestSupport { + + private int port; + + @Test + public void testWithEmptyPath() { + Map<String, Object> headers = new HashMap<>(); + headers.put(Exchange.HTTP_METHOD, "GET"); + headers.put(Exchange.HTTP_QUERY, "hi=hello"); + String result = template.requestBodyAndHeaders("netty-http:http://localhost:" + port, "", headers, String.class); + Assert.assertEquals("/", result); + } + + @Test + public void testWithSlashPathAndQuery() { + Map<String, Object> headers = new HashMap<>(); + headers.put(Exchange.HTTP_METHOD, "GET"); + headers.put(Exchange.HTTP_PATH, "/"); + headers.put(Exchange.HTTP_QUERY, "hi=hello"); + String result = template.requestBodyAndHeaders("netty-http:http://localhost:" + port, "", headers, String.class); + Assert.assertEquals("/", result); + } + + @Test + public void testWithFilledPathAndQuery() { + Map<String, Object> headers = new HashMap<>(); + headers.put(Exchange.HTTP_METHOD, "GET"); + headers.put(Exchange.HTTP_PATH, "some-path"); + headers.put(Exchange.HTTP_QUERY, "hi=hello"); + String result = template.requestBodyAndHeaders("netty-http:http://localhost:" + port, "", headers, String.class); + Assert.assertEquals("/some-path", result); + } + + @Test + public void testWithNoQuery() { + Map<String, Object> headers = new HashMap<>(); + headers.put(Exchange.HTTP_METHOD, "GET"); + String result = template.requestBodyAndHeaders("netty-http:http://localhost:" + port, "", headers, String.class); + Assert.assertEquals("/", result); + } + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { - port = AvailablePortFinder.getNextAvailable(8000); ++ port = AvailablePortFinder.getNextAvailable(); + + from("netty-http:http://localhost:" + port + "?matchOnUriPrefix=true") + .setBody(simple("${header." + Exchange.HTTP_URI + "}")); + } + }; + } + } diff --cc components/camel-netty-http/src/test/resources/org/apache/camel/component/netty/http/SpringNettyHttpBasicAuthTest.xml index 0000000,76f55cf..d0836f3 mode 000000,100644..100644 --- a/components/camel-netty-http/src/test/resources/org/apache/camel/component/netty/http/SpringNettyHttpBasicAuthTest.xml +++ b/components/camel-netty-http/src/test/resources/org/apache/camel/component/netty/http/SpringNettyHttpBasicAuthTest.xml @@@ -1,0 -1,72 +1,67 @@@ + <?xml version="1.0" encoding="UTF-8"?> + <!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + --> + <beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd + "> + + <bean id="dynaPort" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> + <property name="targetClass"> + <value>org.apache.camel.test.AvailablePortFinder</value> + </property> + <property name="targetMethod"> + <value>getNextAvailable</value> + </property> - <property name="arguments"> - <list> - <value>9000</value> - </list> - </property> + </bean> + + <bean id="constraint" class="org.apache.camel.component.netty.http.SecurityConstraintMapping"> + <!-- inclusions defines url -> roles restrictions --> + <!-- a * should be used for any role accepted (or even no roles) --> + <property name="inclusions"> + <map> + <entry key="/*" value="*"/> + <entry key="/admin/*" value="admin"/> + <entry key="/guest/*" value="admin,guest"/> + </map> + </property> + <!-- exclusions is used to define public urls, which requires no authentication --> + <property name="exclusions"> + <set> + <value>/public/*</value> + </set> + </property> + </bean> + + <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> + <endpoint id="input1" uri="netty-http:http://0.0.0.0:#{dynaPort}/foo?matchOnUriPrefix=true&securityConfiguration.realm=karaf&securityConfiguration.securityConstraint=#constraint"/> + + <route> + <from uri="ref:input1"/> + <to uri="mock:input"/> + <transform> + <simple>Bye ${header.CamelHttpUri}</simple> + </transform> + </route> + + </camelContext> + + </beans> diff --cc components/camel-netty/src/test/java/org/apache/camel/component/netty/BaseNettyTest.java index 0000000,a4d8525..491e402 mode 000000,100644..100644 --- a/components/camel-netty/src/test/java/org/apache/camel/component/netty/BaseNettyTest.java +++ b/components/camel-netty/src/test/java/org/apache/camel/component/netty/BaseNettyTest.java @@@ -1,0 -1,144 +1,120 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.camel.component.netty; + + import java.io.File; + import java.io.FileOutputStream; + import java.util.Collection; + import java.util.Properties; + + import io.netty.buffer.ByteBufAllocator; + import io.netty.util.ResourceLeakDetector; + + import org.apache.camel.BindToRegistry; + import org.apache.camel.CamelContext; + import org.apache.camel.component.properties.PropertiesComponent; + import org.apache.camel.converter.IOConverter; + import org.apache.camel.test.AvailablePortFinder; + import org.apache.camel.test.junit4.CamelTestSupport; + import org.apache.logging.log4j.core.LogEvent; + import org.junit.AfterClass; ++import org.junit.Before; + import org.junit.BeforeClass; + import org.slf4j.Logger; + import org.slf4j.LoggerFactory; + + /** + * + */ + public class BaseNettyTest extends CamelTestSupport { + protected static final Logger LOG = LoggerFactory.getLogger(BaseNettyTest.class); + + private static volatile int port; + + @BeforeClass + public static void initPort() throws Exception { - File file = new File("target/nettyport.txt"); - - if (!file.exists()) { - // start from somewhere in the 25xxx range - port = AvailablePortFinder.getNextAvailable(25000); - } else { - // read port number from file - String s = IOConverter.toString(file, null); - port = Integer.parseInt(s); - // use next free port - port = AvailablePortFinder.getNextAvailable(port + 1); - } - - } - - @AfterClass - public static void savePort() throws Exception { - File file = new File("target/nettyport.txt"); - - // save to file, do not append - FileOutputStream fos = new FileOutputStream(file, false); - try { - fos.write(String.valueOf(port).getBytes()); - } finally { - fos.close(); - } ++ port = AvailablePortFinder.getNextAvailable(); + } + + @BeforeClass + public static void startLeakDetection() { + System.setProperty("io.netty.leakDetection.maxRecords", "100"); + System.setProperty("io.netty.leakDetection.acquireAndReleaseOnly", "true"); + ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.PARANOID); + } + + @AfterClass + public static void verifyNoLeaks() throws Exception { + // Force GC to bring up leaks + System.gc(); + // Kick leak detection logging + ByteBufAllocator.DEFAULT.buffer(1).release(); + Collection<LogEvent> events = LogCaptureAppender.getEvents(); + if (!events.isEmpty()) { + String message = "Leaks detected while running tests: " + events; + // Just write the message into log to help debug + for (LogEvent event : events) { + LOG.info(event.getMessage().getFormattedMessage()); + } + LogCaptureAppender.reset(); + throw new AssertionError(message); + } + } + + @Override + protected CamelContext createCamelContext() throws Exception { + CamelContext context = super.createCamelContext(); + context.addComponent("properties", new PropertiesComponent("ref:prop")); + return context; + } + + @BindToRegistry("prop") + public Properties loadProperties() throws Exception { + + Properties prop = new Properties(); + prop.setProperty("port", "" + getPort()); + + return prop; + } + + protected int getNextPort() { - port = AvailablePortFinder.getNextAvailable(port + 1); ++ port = AvailablePortFinder.getNextAvailable(); + return port; + } + + protected int getPort() { + return port; + } + + protected String byteArrayToHex(byte[] bytes) { + StringBuilder sb = new StringBuilder(); + for (byte b : bytes) { + sb.append(String.format("%02x", b & 0xff)); + } + return sb.toString(); + } + + protected byte[] fromHexString(String hexstr) { + byte data[] = new byte[hexstr.length() / 2]; + int i = 0; + for (int n = hexstr.length(); i < n; i += 2) { + data[i / 2] = (Integer.decode("0x" + hexstr.charAt(i) + hexstr.charAt(i + 1))).byteValue(); + } + return data; + } + + }