This is an automated email from the ASF dual-hosted git repository. nfilotto pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit d8182123633c26017251df102e1866b1dbc407f0 Author: Nicolas Filotto <nfilo...@talend.com> AuthorDate: Fri Apr 19 19:37:27 2024 +0200 CAMEL-20692: camel-cxf - Set a default value for loggingSizeLimit --- .../org/apache/camel/catalog/components/cxfrs.json | 60 ++-- .../apache/camel/component/cxf/jaxrs/cxfrs.json | 60 ++-- .../camel/component/cxf/jaxrs/CxfRsEndpoint.java | 15 +- .../camel/component/cxf/jaxws/CxfEndpoint.java | 2 +- .../component/cxf/spring/CxfEndpointBeanTest.java | 18 +- .../endpoint/dsl/CxfRsEndpointBuilderFactory.java | 378 +++++++++++---------- .../apache/camel/kotlin/components/CxfrsUriDsl.kt | 60 ++-- 7 files changed, 304 insertions(+), 289 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxfrs.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxfrs.json index d7a838e3a84..27348d36956 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxfrs.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxfrs.json @@ -52,35 +52,35 @@ "beanId": { "index": 0, "kind": "path", "displayName": "Bean Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To lookup an existing configured CxfRsEndpoint. Must used bean: as prefix." }, "address": { "index": 1, "kind": "path", "displayName": "Address", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service publish address." }, "features": { "index": 2, "kind": "parameter", "displayName": "Features", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<org.apache.cxf.feature.Feature>", "deprecated": false, "autowired": false, "secret": false, "description": "Set the feature list to the CxfRs endpoint." }, - "loggingFeatureEnabled": { "index": 3, "kind": "parameter", "displayName": "Logging Feature Enabled", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option enables CXF Logging Feature which writes inbound and outbound REST messages to log." }, - "loggingSizeLimit": { "index": 4, "kind": "parameter", "displayName": "Logging Size Limit", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To limit the total size of number of bytes the logger will output when logging feature has been enabled." }, - "modelRef": { "index": 5, "kind": "parameter", "displayName": "Model Ref", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to specify the model file which is useful for the resource class without annotation. When using this option, then the service class can be omitted, to emulate document-only endpoints" }, - "providers": { "index": 6, "kind": "parameter", "displayName": "Providers", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Set custom JAX-RS provider(s) list to the CxfRs endpoint. You can specify a string with a list of providers to lookup in the registy separated by comma." }, - "resourceClasses": { "index": 7, "kind": "parameter", "displayName": "Resource Classes", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.Class<java.lang.Object>>", "deprecated": false, "autowired": false, "secret": false, "description": "The resource classes which you want to export as REST service. Multiple classes can be separated by comma." }, - "schemaLocations": { "index": 8, "kind": "parameter", "displayName": "Schema Locations", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the locations of the schema(s) which can be used to validate the incoming XML or JAXB-driven JSON." }, - "skipFaultLogging": { "index": 9, "kind": "parameter", "displayName": "Skip Fault Logging", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches." }, - "bindingStyle": { "index": 10, "kind": "parameter", "displayName": "Binding Style", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.BindingStyle", "enum": [ "SimpleConsumer", "Default", "Custom" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Default", "description": "Sets how requests and responses will be mapped to\/from Camel. Two values are possible: SimpleConsumer: This [...] - "publishedEndpointUrl": { "index": 11, "kind": "parameter", "displayName": "Published Endpoint Url", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option can override the endpointUrl that published from the WADL which can be accessed with resource address url plus _wadl" }, - "bridgeErrorHandler": { "index": 12, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming [...] - "exceptionHandler": { "index": 13, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...] - "exchangePattern": { "index": 14, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, - "serviceBeans": { "index": 15, "kind": "parameter", "displayName": "Service Beans", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service beans (the bean ids to lookup in the registry) which you want to export as REST service. Multiple beans can be separated by comma" }, - "cookieHandler": { "index": 16, "kind": "parameter", "displayName": "Cookie Handler", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.base.cookie.CookieHandler", "deprecated": false, "autowired": false, "secret": false, "description": "Configure a cookie handler to maintain a HTTP session" }, - "hostnameVerifier": { "index": 17, "kind": "parameter", "displayName": "Hostname Verifier", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry." }, - "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "The Camel SSL setting reference. Use the # notation to reference the SSL Context." }, - "throwExceptionOnFailure": { "index": 19, "kind": "parameter", "displayName": "Throw Exception On Failure", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option tells the CxfRsProducer to inspect return codes and will generate an Exception if the return code is larger than 207." }, - "httpClientAPI": { "index": 20, "kind": "parameter", "displayName": "Http Client API", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If it is true, the CxfRsProducer will use the HttpClientAPI to invoke the service. If it is false, the CxfRsProducer will use the ProxyClientAPI to invoke the service" }, - "ignoreDeleteMethodMessageBody": { "index": 21, "kind": "parameter", "displayName": "Ignore Delete Method Message Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is used to tell CxfRsProducer to ignore the message body of the DELETE method when using HTTP API." }, - "lazyStartProducer": { "index": 22, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...] - "maxClientCacheSize": { "index": 23, "kind": "parameter", "displayName": "Max Client Cache Size", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10, "description": "This option allows you to configure the maximum size of the cache. The implementation caches CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider." }, - "synchronous": { "index": 24, "kind": "parameter", "displayName": "Synchronous", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" }, - "binding": { "index": 25, "kind": "parameter", "displayName": "Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom CxfBinding to control the binding between Camel Message and CXF Message." }, - "bus": { "index": 26, "kind": "parameter", "displayName": "Bus", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.cxf.Bus", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured CXF Bus." }, - "continuationTimeout": { "index": 27, "kind": "parameter", "displayName": "Continuation Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport." }, - "cxfRsConfigurer": { "index": 28, "kind": "parameter", "displayName": "Cxf Rs Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "This option could apply the implementation of org.apache.camel.component.cxf.jaxrs.CxfRsEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. Use [...] - "defaultBus": { "index": 29, "kind": "parameter", "displayName": "Default Bus", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will set the default bus when CXF endpoint create a bus by itself" }, - "headerFilterStrategy": { "index": 30, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." }, - "performInvocation": { "index": 31, "kind": "parameter", "displayName": "Perform Invocation", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "When the option is true, Camel will perform the invocation of the resource class instance and put the response object into the exchange for further processing." }, - "propagateContexts": { "index": 32, "kind": "parameter", "displayName": "Propagate Contexts", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "When the option is true, JAXRS UriInfo, HttpHeaders, Request and SecurityContext contexts will be available to custom CXFRS processors as typed Camel exchange properties. These contexts can be u [...] + "modelRef": { "index": 3, "kind": "parameter", "displayName": "Model Ref", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to specify the model file which is useful for the resource class without annotation. When using this option, then the service class can be omitted, to emulate document-only endpoints" }, + "providers": { "index": 4, "kind": "parameter", "displayName": "Providers", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Set custom JAX-RS provider(s) list to the CxfRs endpoint. You can specify a string with a list of providers to lookup in the registy separated by comma." }, + "resourceClasses": { "index": 5, "kind": "parameter", "displayName": "Resource Classes", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.Class<java.lang.Object>>", "deprecated": false, "autowired": false, "secret": false, "description": "The resource classes which you want to export as REST service. Multiple classes can be separated by comma." }, + "schemaLocations": { "index": 6, "kind": "parameter", "displayName": "Schema Locations", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the locations of the schema(s) which can be used to validate the incoming XML or JAXB-driven JSON." }, + "skipFaultLogging": { "index": 7, "kind": "parameter", "displayName": "Skip Fault Logging", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches." }, + "bindingStyle": { "index": 8, "kind": "parameter", "displayName": "Binding Style", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.BindingStyle", "enum": [ "SimpleConsumer", "Default", "Custom" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Default", "description": "Sets how requests and responses will be mapped to\/from Camel. Two values are possible: SimpleConsumer: This [...] + "publishedEndpointUrl": { "index": 9, "kind": "parameter", "displayName": "Published Endpoint Url", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option can override the endpointUrl that published from the WADL which can be accessed with resource address url plus _wadl" }, + "bridgeErrorHandler": { "index": 10, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming [...] + "exceptionHandler": { "index": 11, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...] + "exchangePattern": { "index": 12, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, + "serviceBeans": { "index": 13, "kind": "parameter", "displayName": "Service Beans", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service beans (the bean ids to lookup in the registry) which you want to export as REST service. Multiple beans can be separated by comma" }, + "cookieHandler": { "index": 14, "kind": "parameter", "displayName": "Cookie Handler", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.base.cookie.CookieHandler", "deprecated": false, "autowired": false, "secret": false, "description": "Configure a cookie handler to maintain a HTTP session" }, + "hostnameVerifier": { "index": 15, "kind": "parameter", "displayName": "Hostname Verifier", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry." }, + "sslContextParameters": { "index": 16, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "The Camel SSL setting reference. Use the # notation to reference the SSL Context." }, + "throwExceptionOnFailure": { "index": 17, "kind": "parameter", "displayName": "Throw Exception On Failure", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option tells the CxfRsProducer to inspect return codes and will generate an Exception if the return code is larger than 207." }, + "httpClientAPI": { "index": 18, "kind": "parameter", "displayName": "Http Client API", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If it is true, the CxfRsProducer will use the HttpClientAPI to invoke the service. If it is false, the CxfRsProducer will use the ProxyClientAPI to invoke the service" }, + "ignoreDeleteMethodMessageBody": { "index": 19, "kind": "parameter", "displayName": "Ignore Delete Method Message Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is used to tell CxfRsProducer to ignore the message body of the DELETE method when using HTTP API." }, + "lazyStartProducer": { "index": 20, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...] + "maxClientCacheSize": { "index": 21, "kind": "parameter", "displayName": "Max Client Cache Size", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10, "description": "This option allows you to configure the maximum size of the cache. The implementation caches CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider." }, + "synchronous": { "index": 22, "kind": "parameter", "displayName": "Synchronous", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" }, + "binding": { "index": 23, "kind": "parameter", "displayName": "Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom CxfBinding to control the binding between Camel Message and CXF Message." }, + "bus": { "index": 24, "kind": "parameter", "displayName": "Bus", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.cxf.Bus", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured CXF Bus." }, + "continuationTimeout": { "index": 25, "kind": "parameter", "displayName": "Continuation Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport." }, + "cxfRsConfigurer": { "index": 26, "kind": "parameter", "displayName": "Cxf Rs Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "This option could apply the implementation of org.apache.camel.component.cxf.jaxrs.CxfRsEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. Use [...] + "defaultBus": { "index": 27, "kind": "parameter", "displayName": "Default Bus", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will set the default bus when CXF endpoint create a bus by itself" }, + "headerFilterStrategy": { "index": 28, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." }, + "performInvocation": { "index": 29, "kind": "parameter", "displayName": "Perform Invocation", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "When the option is true, Camel will perform the invocation of the resource class instance and put the response object into the exchange for further processing." }, + "propagateContexts": { "index": 30, "kind": "parameter", "displayName": "Propagate Contexts", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "When the option is true, JAXRS UriInfo, HttpHeaders, Request and SecurityContext contexts will be available to custom CXFRS processors as typed Camel exchange properties. These contexts can be u [...] + "loggingFeatureEnabled": { "index": 31, "kind": "parameter", "displayName": "Logging Feature Enabled", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option enables CXF Logging Feature which writes inbound and outbound REST messages to log." }, + "loggingSizeLimit": { "index": 32, "kind": "parameter", "displayName": "Logging Size Limit", "group": "logging", "label": "logging", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 49152, "description": "To limit the total size of number of bytes the logger will output when logging feature has been enabled and -1 for no limit." } } } diff --git a/components/camel-cxf/camel-cxf-rest/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxrs/cxfrs.json b/components/camel-cxf/camel-cxf-rest/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxrs/cxfrs.json index d7a838e3a84..27348d36956 100644 --- a/components/camel-cxf/camel-cxf-rest/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxrs/cxfrs.json +++ b/components/camel-cxf/camel-cxf-rest/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxrs/cxfrs.json @@ -52,35 +52,35 @@ "beanId": { "index": 0, "kind": "path", "displayName": "Bean Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To lookup an existing configured CxfRsEndpoint. Must used bean: as prefix." }, "address": { "index": 1, "kind": "path", "displayName": "Address", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service publish address." }, "features": { "index": 2, "kind": "parameter", "displayName": "Features", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<org.apache.cxf.feature.Feature>", "deprecated": false, "autowired": false, "secret": false, "description": "Set the feature list to the CxfRs endpoint." }, - "loggingFeatureEnabled": { "index": 3, "kind": "parameter", "displayName": "Logging Feature Enabled", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option enables CXF Logging Feature which writes inbound and outbound REST messages to log." }, - "loggingSizeLimit": { "index": 4, "kind": "parameter", "displayName": "Logging Size Limit", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "To limit the total size of number of bytes the logger will output when logging feature has been enabled." }, - "modelRef": { "index": 5, "kind": "parameter", "displayName": "Model Ref", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to specify the model file which is useful for the resource class without annotation. When using this option, then the service class can be omitted, to emulate document-only endpoints" }, - "providers": { "index": 6, "kind": "parameter", "displayName": "Providers", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Set custom JAX-RS provider(s) list to the CxfRs endpoint. You can specify a string with a list of providers to lookup in the registy separated by comma." }, - "resourceClasses": { "index": 7, "kind": "parameter", "displayName": "Resource Classes", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.Class<java.lang.Object>>", "deprecated": false, "autowired": false, "secret": false, "description": "The resource classes which you want to export as REST service. Multiple classes can be separated by comma." }, - "schemaLocations": { "index": 8, "kind": "parameter", "displayName": "Schema Locations", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the locations of the schema(s) which can be used to validate the incoming XML or JAXB-driven JSON." }, - "skipFaultLogging": { "index": 9, "kind": "parameter", "displayName": "Skip Fault Logging", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches." }, - "bindingStyle": { "index": 10, "kind": "parameter", "displayName": "Binding Style", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.BindingStyle", "enum": [ "SimpleConsumer", "Default", "Custom" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Default", "description": "Sets how requests and responses will be mapped to\/from Camel. Two values are possible: SimpleConsumer: This [...] - "publishedEndpointUrl": { "index": 11, "kind": "parameter", "displayName": "Published Endpoint Url", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option can override the endpointUrl that published from the WADL which can be accessed with resource address url plus _wadl" }, - "bridgeErrorHandler": { "index": 12, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming [...] - "exceptionHandler": { "index": 13, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...] - "exchangePattern": { "index": 14, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, - "serviceBeans": { "index": 15, "kind": "parameter", "displayName": "Service Beans", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service beans (the bean ids to lookup in the registry) which you want to export as REST service. Multiple beans can be separated by comma" }, - "cookieHandler": { "index": 16, "kind": "parameter", "displayName": "Cookie Handler", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.base.cookie.CookieHandler", "deprecated": false, "autowired": false, "secret": false, "description": "Configure a cookie handler to maintain a HTTP session" }, - "hostnameVerifier": { "index": 17, "kind": "parameter", "displayName": "Hostname Verifier", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry." }, - "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "The Camel SSL setting reference. Use the # notation to reference the SSL Context." }, - "throwExceptionOnFailure": { "index": 19, "kind": "parameter", "displayName": "Throw Exception On Failure", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option tells the CxfRsProducer to inspect return codes and will generate an Exception if the return code is larger than 207." }, - "httpClientAPI": { "index": 20, "kind": "parameter", "displayName": "Http Client API", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If it is true, the CxfRsProducer will use the HttpClientAPI to invoke the service. If it is false, the CxfRsProducer will use the ProxyClientAPI to invoke the service" }, - "ignoreDeleteMethodMessageBody": { "index": 21, "kind": "parameter", "displayName": "Ignore Delete Method Message Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is used to tell CxfRsProducer to ignore the message body of the DELETE method when using HTTP API." }, - "lazyStartProducer": { "index": 22, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...] - "maxClientCacheSize": { "index": 23, "kind": "parameter", "displayName": "Max Client Cache Size", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10, "description": "This option allows you to configure the maximum size of the cache. The implementation caches CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider." }, - "synchronous": { "index": 24, "kind": "parameter", "displayName": "Synchronous", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" }, - "binding": { "index": 25, "kind": "parameter", "displayName": "Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom CxfBinding to control the binding between Camel Message and CXF Message." }, - "bus": { "index": 26, "kind": "parameter", "displayName": "Bus", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.cxf.Bus", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured CXF Bus." }, - "continuationTimeout": { "index": 27, "kind": "parameter", "displayName": "Continuation Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport." }, - "cxfRsConfigurer": { "index": 28, "kind": "parameter", "displayName": "Cxf Rs Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "This option could apply the implementation of org.apache.camel.component.cxf.jaxrs.CxfRsEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. Use [...] - "defaultBus": { "index": 29, "kind": "parameter", "displayName": "Default Bus", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will set the default bus when CXF endpoint create a bus by itself" }, - "headerFilterStrategy": { "index": 30, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." }, - "performInvocation": { "index": 31, "kind": "parameter", "displayName": "Perform Invocation", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "When the option is true, Camel will perform the invocation of the resource class instance and put the response object into the exchange for further processing." }, - "propagateContexts": { "index": 32, "kind": "parameter", "displayName": "Propagate Contexts", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "When the option is true, JAXRS UriInfo, HttpHeaders, Request and SecurityContext contexts will be available to custom CXFRS processors as typed Camel exchange properties. These contexts can be u [...] + "modelRef": { "index": 3, "kind": "parameter", "displayName": "Model Ref", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option is used to specify the model file which is useful for the resource class without annotation. When using this option, then the service class can be omitted, to emulate document-only endpoints" }, + "providers": { "index": 4, "kind": "parameter", "displayName": "Providers", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Set custom JAX-RS provider(s) list to the CxfRs endpoint. You can specify a string with a list of providers to lookup in the registy separated by comma." }, + "resourceClasses": { "index": 5, "kind": "parameter", "displayName": "Resource Classes", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.Class<java.lang.Object>>", "deprecated": false, "autowired": false, "secret": false, "description": "The resource classes which you want to export as REST service. Multiple classes can be separated by comma." }, + "schemaLocations": { "index": 6, "kind": "parameter", "displayName": "Schema Locations", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the locations of the schema(s) which can be used to validate the incoming XML or JAXB-driven JSON." }, + "skipFaultLogging": { "index": 7, "kind": "parameter", "displayName": "Skip Fault Logging", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches." }, + "bindingStyle": { "index": 8, "kind": "parameter", "displayName": "Binding Style", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.BindingStyle", "enum": [ "SimpleConsumer", "Default", "Custom" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Default", "description": "Sets how requests and responses will be mapped to\/from Camel. Two values are possible: SimpleConsumer: This [...] + "publishedEndpointUrl": { "index": 9, "kind": "parameter", "displayName": "Published Endpoint Url", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "This option can override the endpointUrl that published from the WADL which can be accessed with resource address url plus _wadl" }, + "bridgeErrorHandler": { "index": 10, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming [...] + "exceptionHandler": { "index": 11, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By de [...] + "exchangePattern": { "index": 12, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, + "serviceBeans": { "index": 13, "kind": "parameter", "displayName": "Service Beans", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The service beans (the bean ids to lookup in the registry) which you want to export as REST service. Multiple beans can be separated by comma" }, + "cookieHandler": { "index": 14, "kind": "parameter", "displayName": "Cookie Handler", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.http.base.cookie.CookieHandler", "deprecated": false, "autowired": false, "secret": false, "description": "Configure a cookie handler to maintain a HTTP session" }, + "hostnameVerifier": { "index": 15, "kind": "parameter", "displayName": "Hostname Verifier", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry." }, + "sslContextParameters": { "index": 16, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "The Camel SSL setting reference. Use the # notation to reference the SSL Context." }, + "throwExceptionOnFailure": { "index": 17, "kind": "parameter", "displayName": "Throw Exception On Failure", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "This option tells the CxfRsProducer to inspect return codes and will generate an Exception if the return code is larger than 207." }, + "httpClientAPI": { "index": 18, "kind": "parameter", "displayName": "Http Client API", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If it is true, the CxfRsProducer will use the HttpClientAPI to invoke the service. If it is false, the CxfRsProducer will use the ProxyClientAPI to invoke the service" }, + "ignoreDeleteMethodMessageBody": { "index": 19, "kind": "parameter", "displayName": "Ignore Delete Method Message Body", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option is used to tell CxfRsProducer to ignore the message body of the DELETE method when using HTTP API." }, + "lazyStartProducer": { "index": 20, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...] + "maxClientCacheSize": { "index": 21, "kind": "parameter", "displayName": "Max Client Cache Size", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10, "description": "This option allows you to configure the maximum size of the cache. The implementation caches CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider." }, + "synchronous": { "index": 22, "kind": "parameter", "displayName": "Synchronous", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" }, + "binding": { "index": 23, "kind": "parameter", "displayName": "Binding", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsBinding", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom CxfBinding to control the binding between Camel Message and CXF Message." }, + "bus": { "index": 24, "kind": "parameter", "displayName": "Bus", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.cxf.Bus", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured CXF Bus." }, + "continuationTimeout": { "index": 25, "kind": "parameter", "displayName": "Continuation Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport." }, + "cxfRsConfigurer": { "index": 26, "kind": "parameter", "displayName": "Cxf Rs Configurer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsConfigurer", "deprecated": false, "autowired": false, "secret": false, "description": "This option could apply the implementation of org.apache.camel.component.cxf.jaxrs.CxfRsEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. Use [...] + "defaultBus": { "index": 27, "kind": "parameter", "displayName": "Default Bus", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will set the default bus when CXF endpoint create a bus by itself" }, + "headerFilterStrategy": { "index": 28, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." }, + "performInvocation": { "index": 29, "kind": "parameter", "displayName": "Perform Invocation", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "When the option is true, Camel will perform the invocation of the resource class instance and put the response object into the exchange for further processing." }, + "propagateContexts": { "index": 30, "kind": "parameter", "displayName": "Propagate Contexts", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "When the option is true, JAXRS UriInfo, HttpHeaders, Request and SecurityContext contexts will be available to custom CXFRS processors as typed Camel exchange properties. These contexts can be u [...] + "loggingFeatureEnabled": { "index": 31, "kind": "parameter", "displayName": "Logging Feature Enabled", "group": "logging", "label": "logging", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "This option enables CXF Logging Feature which writes inbound and outbound REST messages to log." }, + "loggingSizeLimit": { "index": 32, "kind": "parameter", "displayName": "Logging Size Limit", "group": "logging", "label": "logging", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 49152, "description": "To limit the total size of number of bytes the logger will output when logging feature has been enabled and -1 for no limit." } } } diff --git a/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java b/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java index 8c118e5f39a..39094b9835c 100644 --- a/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java +++ b/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java @@ -50,6 +50,7 @@ import org.apache.cxf.Bus; import org.apache.cxf.BusFactory; import org.apache.cxf.common.util.ModCountCopyOnWriteArrayList; import org.apache.cxf.common.util.StringUtils; +import org.apache.cxf.ext.logging.AbstractLoggingInterceptor; import org.apache.cxf.ext.logging.LoggingFeature; import org.apache.cxf.feature.Feature; import org.apache.cxf.interceptor.AbstractBasicInterceptorProvider; @@ -126,10 +127,10 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate private SSLContextParameters sslContextParameters; @UriParam(label = "producer") private HostnameVerifier hostnameVerifier; - @UriParam + @UriParam(label = "logging") private boolean loggingFeatureEnabled; - @UriParam - private int loggingSizeLimit; + @UriParam(label = "logging", defaultValue = "" + AbstractLoggingInterceptor.DEFAULT_LIMIT) + private int loggingSizeLimit = AbstractLoggingInterceptor.DEFAULT_LIMIT; @UriParam private boolean skipFaultLogging; @UriParam(label = "advanced", defaultValue = "30000", javaType = "java.time.Duration") @@ -384,7 +385,7 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate if (isLoggingFeatureEnabled()) { LoggingFeature loggingFeature = new LoggingFeature(); - if (getLoggingSizeLimit() > 0) { + if (getLoggingSizeLimit() >= -1) { loggingFeature.setLimit(getLoggingSizeLimit()); } factory.getFeatures().add(loggingFeature); @@ -534,9 +535,13 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate } /** - * To limit the total size of number of bytes the logger will output when logging feature has been enabled. + * To limit the total size of number of bytes the logger will output when logging feature has been enabled and -1 + * for no limit. */ public void setLoggingSizeLimit(int loggingSizeLimit) { + if (loggingSizeLimit < -1) { + throw new IllegalArgumentException("LoggingSizeLimit must be greater or equal to -1."); + } this.loggingSizeLimit = loggingSizeLimit; } diff --git a/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java b/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java index 4cb5b08db2d..6c1f946d091 100644 --- a/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java +++ b/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java @@ -196,7 +196,7 @@ public class CxfEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade @UriParam(label = "logging") private boolean loggingFeatureEnabled; @UriParam(label = "logging", defaultValue = "" + AbstractLoggingInterceptor.DEFAULT_LIMIT) - private int loggingSizeLimit; + private int loggingSizeLimit = AbstractLoggingInterceptor.DEFAULT_LIMIT; @UriParam(label = "advanced") private boolean mtomEnabled; @UriParam(label = "advanced") diff --git a/components/camel-cxf/camel-cxf-spring-soap/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java b/components/camel-cxf/camel-cxf-spring-soap/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java index 76883cd9491..f21009862f9 100644 --- a/components/camel-cxf/camel-cxf-spring-soap/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java +++ b/components/camel-cxf/camel-cxf-spring-soap/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java @@ -24,10 +24,13 @@ import org.apache.camel.component.cxf.jaxws.CxfEndpoint; import org.apache.camel.component.cxf.jaxws.CxfProducer; import org.apache.cxf.binding.soap.SoapBindingConfiguration; import org.apache.cxf.endpoint.Client; +import org.apache.cxf.ext.logging.AbstractLoggingInterceptor; import org.apache.cxf.transport.http.HTTPConduit; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; import static org.junit.jupiter.api.Assertions.assertTrue; public class CxfEndpointBeanTest extends AbstractSpringBeanTestSupport { @@ -53,20 +56,21 @@ public class CxfEndpointBeanTest extends AbstractSpringBeanTestSupport { + "/CxfEndpointBeanTest/router", routerEndpoint.getAddress(), "Got the wrong endpoint address"); assertEquals("org.apache.camel.component.cxf.HelloService", - routerEndpoint.getServiceClass().getName(), "Got the wrong endpont service class"); - assertEquals(false, routerEndpoint.isLoggingFeatureEnabled(), "loggingFeatureEnabled should be false"); - assertEquals(0, routerEndpoint.getLoggingSizeLimit(), "loggingSizeLimit should not be set"); + routerEndpoint.getServiceClass().getName(), "Got the wrong endpoint service class"); + assertFalse(routerEndpoint.isLoggingFeatureEnabled(), "loggingFeatureEnabled should be false"); + assertEquals(AbstractLoggingInterceptor.DEFAULT_LIMIT, routerEndpoint.getLoggingSizeLimit(), + "loggingSizeLimit should not be set"); assertEquals(1, routerEndpoint.getHandlers().size(), "Got the wrong handlers size"); - assertEquals(1, routerEndpoint.getSchemaLocations().size(), "Got the wrong schemalocations size"); - assertEquals("classpath:wsdl/Message.xsd", routerEndpoint.getSchemaLocations().get(0), "Got the wrong schemalocation"); + assertEquals(1, routerEndpoint.getSchemaLocations().size(), "Got the wrong schema locations size"); + assertEquals("classpath:wsdl/Message.xsd", routerEndpoint.getSchemaLocations().get(0), "Got the wrong schema location"); assertEquals(60000, routerEndpoint.getContinuationTimeout(), "Got the wrong continuationTimeout"); CxfEndpoint myEndpoint = ctx.getBean("myEndpoint", CxfEndpoint.class); assertEquals(endpointName, myEndpoint.getPortNameAsQName(), "Got the wrong endpointName"); assertEquals(serviceName, myEndpoint.getServiceNameAsQName(), "Got the wrong serviceName"); - assertEquals(true, myEndpoint.isLoggingFeatureEnabled(), "loggingFeatureEnabled should be true"); + assertTrue(myEndpoint.isLoggingFeatureEnabled(), "loggingFeatureEnabled should be true"); assertEquals(200, myEndpoint.getLoggingSizeLimit(), "loggingSizeLimit should be set"); - assertTrue(myEndpoint.getBindingConfig() instanceof SoapBindingConfiguration, "We should get a soap binding"); + assertInstanceOf(SoapBindingConfiguration.class, myEndpoint.getBindingConfig(), "We should get a soap binding"); SoapBindingConfiguration configuration = (SoapBindingConfiguration) myEndpoint.getBindingConfig(); assertEquals("1.2", String.valueOf(configuration.getVersion().getVersion()), "We should get a right soap version"); diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CxfRsEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CxfRsEndpointBuilderFactory.java index 88d48ab13fb..6809d5d46be 100644 --- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CxfRsEndpointBuilderFactory.java +++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CxfRsEndpointBuilderFactory.java @@ -76,68 +76,6 @@ public interface CxfRsEndpointBuilderFactory { doSetProperty("features", features); return this; } - /** - * This option enables CXF Logging Feature which writes inbound and - * outbound REST messages to log. - * - * The option is a: <code>boolean</code> type. - * - * Default: false - * Group: common - * - * @param loggingFeatureEnabled the value to set - * @return the dsl builder - */ - default CxfRsEndpointConsumerBuilder loggingFeatureEnabled(boolean loggingFeatureEnabled) { - doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); - return this; - } - /** - * This option enables CXF Logging Feature which writes inbound and - * outbound REST messages to log. - * - * The option will be converted to a <code>boolean</code> type. - * - * Default: false - * Group: common - * - * @param loggingFeatureEnabled the value to set - * @return the dsl builder - */ - default CxfRsEndpointConsumerBuilder loggingFeatureEnabled(String loggingFeatureEnabled) { - doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); - return this; - } - /** - * To limit the total size of number of bytes the logger will output - * when logging feature has been enabled. - * - * The option is a: <code>int</code> type. - * - * Group: common - * - * @param loggingSizeLimit the value to set - * @return the dsl builder - */ - default CxfRsEndpointConsumerBuilder loggingSizeLimit(int loggingSizeLimit) { - doSetProperty("loggingSizeLimit", loggingSizeLimit); - return this; - } - /** - * To limit the total size of number of bytes the logger will output - * when logging feature has been enabled. - * - * The option will be converted to a <code>int</code> type. - * - * Group: common - * - * @param loggingSizeLimit the value to set - * @return the dsl builder - */ - default CxfRsEndpointConsumerBuilder loggingSizeLimit(String loggingSizeLimit) { - doSetProperty("loggingSizeLimit", loggingSizeLimit); - return this; - } /** * This option is used to specify the model file which is useful for the * resource class without annotation. When using this option, then the @@ -341,6 +279,70 @@ public interface CxfRsEndpointBuilderFactory { doSetProperty("publishedEndpointUrl", publishedEndpointUrl); return this; } + /** + * This option enables CXF Logging Feature which writes inbound and + * outbound REST messages to log. + * + * The option is a: <code>boolean</code> type. + * + * Default: false + * Group: logging + * + * @param loggingFeatureEnabled the value to set + * @return the dsl builder + */ + default CxfRsEndpointConsumerBuilder loggingFeatureEnabled(boolean loggingFeatureEnabled) { + doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); + return this; + } + /** + * This option enables CXF Logging Feature which writes inbound and + * outbound REST messages to log. + * + * The option will be converted to a <code>boolean</code> type. + * + * Default: false + * Group: logging + * + * @param loggingFeatureEnabled the value to set + * @return the dsl builder + */ + default CxfRsEndpointConsumerBuilder loggingFeatureEnabled(String loggingFeatureEnabled) { + doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); + return this; + } + /** + * To limit the total size of number of bytes the logger will output + * when logging feature has been enabled and -1 for no limit. + * + * The option is a: <code>int</code> type. + * + * Default: 49152 + * Group: logging + * + * @param loggingSizeLimit the value to set + * @return the dsl builder + */ + default CxfRsEndpointConsumerBuilder loggingSizeLimit(int loggingSizeLimit) { + doSetProperty("loggingSizeLimit", loggingSizeLimit); + return this; + } + /** + * To limit the total size of number of bytes the logger will output + * when logging feature has been enabled and -1 for no limit. + * + * The option will be converted to a <code>int</code> type. + * + * Default: 49152 + * Group: logging + * + * @param loggingSizeLimit the value to set + * @return the dsl builder + */ + default CxfRsEndpointConsumerBuilder loggingSizeLimit(String loggingSizeLimit) { + doSetProperty("loggingSizeLimit", loggingSizeLimit); + return this; + } } /** @@ -796,68 +798,6 @@ public interface CxfRsEndpointBuilderFactory { doSetProperty("features", features); return this; } - /** - * This option enables CXF Logging Feature which writes inbound and - * outbound REST messages to log. - * - * The option is a: <code>boolean</code> type. - * - * Default: false - * Group: common - * - * @param loggingFeatureEnabled the value to set - * @return the dsl builder - */ - default CxfRsEndpointProducerBuilder loggingFeatureEnabled(boolean loggingFeatureEnabled) { - doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); - return this; - } - /** - * This option enables CXF Logging Feature which writes inbound and - * outbound REST messages to log. - * - * The option will be converted to a <code>boolean</code> type. - * - * Default: false - * Group: common - * - * @param loggingFeatureEnabled the value to set - * @return the dsl builder - */ - default CxfRsEndpointProducerBuilder loggingFeatureEnabled(String loggingFeatureEnabled) { - doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); - return this; - } - /** - * To limit the total size of number of bytes the logger will output - * when logging feature has been enabled. - * - * The option is a: <code>int</code> type. - * - * Group: common - * - * @param loggingSizeLimit the value to set - * @return the dsl builder - */ - default CxfRsEndpointProducerBuilder loggingSizeLimit(int loggingSizeLimit) { - doSetProperty("loggingSizeLimit", loggingSizeLimit); - return this; - } - /** - * To limit the total size of number of bytes the logger will output - * when logging feature has been enabled. - * - * The option will be converted to a <code>int</code> type. - * - * Group: common - * - * @param loggingSizeLimit the value to set - * @return the dsl builder - */ - default CxfRsEndpointProducerBuilder loggingSizeLimit(String loggingSizeLimit) { - doSetProperty("loggingSizeLimit", loggingSizeLimit); - return this; - } /** * This option is used to specify the model file which is useful for the * resource class without annotation. When using this option, then the @@ -1111,6 +1051,70 @@ public interface CxfRsEndpointBuilderFactory { doSetProperty("throwExceptionOnFailure", throwExceptionOnFailure); return this; } + /** + * This option enables CXF Logging Feature which writes inbound and + * outbound REST messages to log. + * + * The option is a: <code>boolean</code> type. + * + * Default: false + * Group: logging + * + * @param loggingFeatureEnabled the value to set + * @return the dsl builder + */ + default CxfRsEndpointProducerBuilder loggingFeatureEnabled(boolean loggingFeatureEnabled) { + doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); + return this; + } + /** + * This option enables CXF Logging Feature which writes inbound and + * outbound REST messages to log. + * + * The option will be converted to a <code>boolean</code> type. + * + * Default: false + * Group: logging + * + * @param loggingFeatureEnabled the value to set + * @return the dsl builder + */ + default CxfRsEndpointProducerBuilder loggingFeatureEnabled(String loggingFeatureEnabled) { + doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); + return this; + } + /** + * To limit the total size of number of bytes the logger will output + * when logging feature has been enabled and -1 for no limit. + * + * The option is a: <code>int</code> type. + * + * Default: 49152 + * Group: logging + * + * @param loggingSizeLimit the value to set + * @return the dsl builder + */ + default CxfRsEndpointProducerBuilder loggingSizeLimit(int loggingSizeLimit) { + doSetProperty("loggingSizeLimit", loggingSizeLimit); + return this; + } + /** + * To limit the total size of number of bytes the logger will output + * when logging feature has been enabled and -1 for no limit. + * + * The option will be converted to a <code>int</code> type. + * + * Default: 49152 + * Group: logging + * + * @param loggingSizeLimit the value to set + * @return the dsl builder + */ + default CxfRsEndpointProducerBuilder loggingSizeLimit(String loggingSizeLimit) { + doSetProperty("loggingSizeLimit", loggingSizeLimit); + return this; + } } /** @@ -1609,68 +1613,6 @@ public interface CxfRsEndpointBuilderFactory { doSetProperty("features", features); return this; } - /** - * This option enables CXF Logging Feature which writes inbound and - * outbound REST messages to log. - * - * The option is a: <code>boolean</code> type. - * - * Default: false - * Group: common - * - * @param loggingFeatureEnabled the value to set - * @return the dsl builder - */ - default CxfRsEndpointBuilder loggingFeatureEnabled(boolean loggingFeatureEnabled) { - doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); - return this; - } - /** - * This option enables CXF Logging Feature which writes inbound and - * outbound REST messages to log. - * - * The option will be converted to a <code>boolean</code> type. - * - * Default: false - * Group: common - * - * @param loggingFeatureEnabled the value to set - * @return the dsl builder - */ - default CxfRsEndpointBuilder loggingFeatureEnabled(String loggingFeatureEnabled) { - doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); - return this; - } - /** - * To limit the total size of number of bytes the logger will output - * when logging feature has been enabled. - * - * The option is a: <code>int</code> type. - * - * Group: common - * - * @param loggingSizeLimit the value to set - * @return the dsl builder - */ - default CxfRsEndpointBuilder loggingSizeLimit(int loggingSizeLimit) { - doSetProperty("loggingSizeLimit", loggingSizeLimit); - return this; - } - /** - * To limit the total size of number of bytes the logger will output - * when logging feature has been enabled. - * - * The option will be converted to a <code>int</code> type. - * - * Group: common - * - * @param loggingSizeLimit the value to set - * @return the dsl builder - */ - default CxfRsEndpointBuilder loggingSizeLimit(String loggingSizeLimit) { - doSetProperty("loggingSizeLimit", loggingSizeLimit); - return this; - } /** * This option is used to specify the model file which is useful for the * resource class without annotation. When using this option, then the @@ -1799,6 +1741,70 @@ public interface CxfRsEndpointBuilderFactory { doSetProperty("skipFaultLogging", skipFaultLogging); return this; } + /** + * This option enables CXF Logging Feature which writes inbound and + * outbound REST messages to log. + * + * The option is a: <code>boolean</code> type. + * + * Default: false + * Group: logging + * + * @param loggingFeatureEnabled the value to set + * @return the dsl builder + */ + default CxfRsEndpointBuilder loggingFeatureEnabled(boolean loggingFeatureEnabled) { + doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); + return this; + } + /** + * This option enables CXF Logging Feature which writes inbound and + * outbound REST messages to log. + * + * The option will be converted to a <code>boolean</code> type. + * + * Default: false + * Group: logging + * + * @param loggingFeatureEnabled the value to set + * @return the dsl builder + */ + default CxfRsEndpointBuilder loggingFeatureEnabled(String loggingFeatureEnabled) { + doSetProperty("loggingFeatureEnabled", loggingFeatureEnabled); + return this; + } + /** + * To limit the total size of number of bytes the logger will output + * when logging feature has been enabled and -1 for no limit. + * + * The option is a: <code>int</code> type. + * + * Default: 49152 + * Group: logging + * + * @param loggingSizeLimit the value to set + * @return the dsl builder + */ + default CxfRsEndpointBuilder loggingSizeLimit(int loggingSizeLimit) { + doSetProperty("loggingSizeLimit", loggingSizeLimit); + return this; + } + /** + * To limit the total size of number of bytes the logger will output + * when logging feature has been enabled and -1 for no limit. + * + * The option will be converted to a <code>int</code> type. + * + * Default: 49152 + * Group: logging + * + * @param loggingSizeLimit the value to set + * @return the dsl builder + */ + default CxfRsEndpointBuilder loggingSizeLimit(String loggingSizeLimit) { + doSetProperty("loggingSizeLimit", loggingSizeLimit); + return this; + } } /** diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/CxfrsUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/CxfrsUriDsl.kt index 0f84fd817b0..f82b775cfb8 100644 --- a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/CxfrsUriDsl.kt +++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/CxfrsUriDsl.kt @@ -69,36 +69,6 @@ public class CxfrsUriDsl( it.property("features", features) } - /** - * This option enables CXF Logging Feature which writes inbound and outbound REST messages to log. - */ - public fun loggingFeatureEnabled(loggingFeatureEnabled: String) { - it.property("loggingFeatureEnabled", loggingFeatureEnabled) - } - - /** - * This option enables CXF Logging Feature which writes inbound and outbound REST messages to log. - */ - public fun loggingFeatureEnabled(loggingFeatureEnabled: Boolean) { - it.property("loggingFeatureEnabled", loggingFeatureEnabled.toString()) - } - - /** - * To limit the total size of number of bytes the logger will output when logging feature has been - * enabled. - */ - public fun loggingSizeLimit(loggingSizeLimit: String) { - it.property("loggingSizeLimit", loggingSizeLimit) - } - - /** - * To limit the total size of number of bytes the logger will output when logging feature has been - * enabled. - */ - public fun loggingSizeLimit(loggingSizeLimit: Int) { - it.property("loggingSizeLimit", loggingSizeLimit.toString()) - } - /** * This option is used to specify the model file which is useful for the resource class without * annotation. When using this option, then the service class can be omitted, to emulate @@ -434,4 +404,34 @@ public class CxfrsUriDsl( public fun propagateContexts(propagateContexts: Boolean) { it.property("propagateContexts", propagateContexts.toString()) } + + /** + * This option enables CXF Logging Feature which writes inbound and outbound REST messages to log. + */ + public fun loggingFeatureEnabled(loggingFeatureEnabled: String) { + it.property("loggingFeatureEnabled", loggingFeatureEnabled) + } + + /** + * This option enables CXF Logging Feature which writes inbound and outbound REST messages to log. + */ + public fun loggingFeatureEnabled(loggingFeatureEnabled: Boolean) { + it.property("loggingFeatureEnabled", loggingFeatureEnabled.toString()) + } + + /** + * To limit the total size of number of bytes the logger will output when logging feature has been + * enabled and -1 for no limit. + */ + public fun loggingSizeLimit(loggingSizeLimit: String) { + it.property("loggingSizeLimit", loggingSizeLimit) + } + + /** + * To limit the total size of number of bytes the logger will output when logging feature has been + * enabled and -1 for no limit. + */ + public fun loggingSizeLimit(loggingSizeLimit: Int) { + it.property("loggingSizeLimit", loggingSizeLimit.toString()) + } }