Add component definition: reactive-streams

This commit is contained in:
gitea_admin 2026-03-11 14:32:40 +00:00
parent 7436f31409
commit b65b79c30e

231
component.json Normal file
View File

@ -0,0 +1,231 @@
{
"component": {
"kind": "component",
"name": "reactive-streams",
"title": "Reactive Streams",
"description": "Exchange messages with reactive stream processing libraries compatible with the reactive streams standard.",
"deprecated": false,
"firstVersion": "2.19.0",
"label": "messaging",
"javaType": "org.apache.camel.component.reactive.streams.ReactiveStreamsComponent",
"supportLevel": "Stable",
"groupId": "org.apache.camel",
"artifactId": "camel-reactive-streams",
"version": "4.10.2",
"scheme": "reactive-streams",
"extendsScheme": "",
"syntax": "reactive-streams:stream",
"async": false,
"api": false,
"consumerOnly": false,
"producerOnly": false,
"lenientProperties": false,
"browsable": false,
"remote": false
},
"headers": {
"CamelReactiveStreamsEventType": {
"index": 0,
"kind": "header",
"displayName": "",
"group": "consumer",
"label": "consumer",
"required": false,
"javaType": "String",
"deprecated": false,
"deprecationNote": "",
"autowired": false,
"secret": false,
"description": "Every exchange consumed by Camel has this header set to indicate if the exchange contains an item (value=onNext), an error (value=onError) or a completion event (value=onComplete). Errors and completion notification are not forwarded by default.",
"constantName": "org.apache.camel.component.reactive.streams.ReactiveStreamsConstants#REACTIVE_STREAMS_EVENT_TYPE"
},
"CamelReactiveStreamsCallback": {
"index": 1,
"kind": "header",
"displayName": "",
"group": "common",
"label": "",
"required": false,
"javaType": "org.apache.camel.component.reactive.streams.api.DispatchCallback",
"deprecated": false,
"deprecationNote": "",
"autowired": false,
"secret": false,
"description": "The callback.",
"constantName": "org.apache.camel.component.reactive.streams.ReactiveStreamsConstants#REACTIVE_STREAMS_CALLBACK"
}
},
"properties": {
"stream": {
"index": 0,
"kind": "path",
"displayName": "Stream",
"group": "common",
"label": "",
"required": false,
"type": "string",
"javaType": "java.lang.String",
"deprecated": false,
"autowired": false,
"secret": false,
"description": "Name of the stream channel used by the endpoint to exchange messages."
},
"concurrentConsumers": {
"index": 1,
"kind": "parameter",
"displayName": "Concurrent Consumers",
"group": "consumer",
"label": "consumer",
"required": false,
"type": "integer",
"javaType": "int",
"deprecated": false,
"autowired": false,
"secret": false,
"defaultValue": 1,
"description": "Number of threads used to process exchanges in the Camel route."
},
"exchangesRefillLowWatermark": {
"index": 2,
"kind": "parameter",
"displayName": "Exchanges Refill Low Watermark",
"group": "consumer",
"label": "consumer",
"required": false,
"type": "number",
"javaType": "double",
"deprecated": false,
"autowired": false,
"secret": false,
"defaultValue": 0.25,
"description": "Set the low watermark of requested exchanges to the active subscription as percentage of the maxInflightExchanges. When the number of pending items from the upstream source is lower than the watermark, new items can be requested to the subscription. If set to 0, the subscriber will request items in batches of maxInflightExchanges, only after all items of the previous batch have been processed. If set to 1, the subscriber can request a new item each time an exchange is processed (chatty). Any intermediate value can be used."
},
"forwardOnComplete": {
"index": 3,
"kind": "parameter",
"displayName": "Forward On Complete",
"group": "consumer",
"label": "consumer",
"required": false,
"type": "boolean",
"javaType": "boolean",
"deprecated": false,
"autowired": false,
"secret": false,
"defaultValue": false,
"description": "Determines if onComplete events should be pushed to the Camel route."
},
"forwardOnError": {
"index": 4,
"kind": "parameter",
"displayName": "Forward On Error",
"group": "consumer",
"label": "consumer",
"required": false,
"type": "boolean",
"javaType": "boolean",
"deprecated": false,
"autowired": false,
"secret": false,
"defaultValue": false,
"description": "Determines if onError events should be pushed to the Camel route. Exceptions will be set as message body."
},
"maxInflightExchanges": {
"index": 5,
"kind": "parameter",
"displayName": "Max Inflight Exchanges",
"group": "consumer",
"label": "consumer",
"required": false,
"type": "integer",
"javaType": "java.lang.Integer",
"deprecated": false,
"autowired": false,
"secret": false,
"defaultValue": "128",
"description": "Maximum number of exchanges concurrently being processed by Camel. This parameter controls backpressure on the stream. Setting a non-positive value will disable backpressure."
},
"bridgeErrorHandler": {
"index": 6,
"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 messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored."
},
"exceptionHandler": {
"index": 7,
"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 default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored."
},
"exchangePattern": {
"index": 8,
"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."
},
"backpressureStrategy": {
"index": 9,
"kind": "parameter",
"displayName": "Backpressure Strategy",
"group": "producer",
"label": "producer",
"required": false,
"type": "object",
"javaType": "org.apache.camel.component.reactive.streams.ReactiveStreamsBackpressureStrategy",
"enum": [
"BUFFER",
"OLDEST",
"LATEST"
],
"deprecated": false,
"autowired": false,
"secret": false,
"description": "The backpressure strategy to use when pushing events to a slow subscriber."
},
"lazyStartProducer": {
"index": 10,
"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 producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing."
}
}
}