778 lines
31 KiB
JSON
778 lines
31 KiB
JSON
|
|
{
|
||
|
|
"component": {
|
||
|
|
"kind": "component",
|
||
|
|
"name": "google-pubsub",
|
||
|
|
"title": "Google Pubsub",
|
||
|
|
"description": "Send and receive messages to/from Google Cloud Platform PubSub Service.",
|
||
|
|
"deprecated": false,
|
||
|
|
"firstVersion": "1.0.0",
|
||
|
|
"label": "cloud,messaging",
|
||
|
|
"javaType": "org.apache.camel.component.google.pubsub.GooglePubsubComponent",
|
||
|
|
"supportLevel": "Stable",
|
||
|
|
"nativeSupported": true,
|
||
|
|
"metadata": {
|
||
|
|
"quarkusVersion": "3.36.0",
|
||
|
|
"camelArtifact": "org.apache.camel:camel-google-pubsub",
|
||
|
|
"camelVersion": "4.20.0"
|
||
|
|
},
|
||
|
|
"groupId": "org.apache.camel.quarkus",
|
||
|
|
"artifactId": "camel-quarkus-google-pubsub",
|
||
|
|
"version": "4.20.0 (CEQ 3.36.0)",
|
||
|
|
"scheme": "google-pubsub",
|
||
|
|
"extendsScheme": "",
|
||
|
|
"syntax": "google-pubsub:projectId:destinationName",
|
||
|
|
"async": false,
|
||
|
|
"api": false,
|
||
|
|
"consumerOnly": false,
|
||
|
|
"producerOnly": false,
|
||
|
|
"lenientProperties": false,
|
||
|
|
"browsable": false,
|
||
|
|
"remote": true
|
||
|
|
},
|
||
|
|
"componentProperties": {
|
||
|
|
"authenticate": {
|
||
|
|
"index": 0,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Authenticate",
|
||
|
|
"group": "common",
|
||
|
|
"label": "common",
|
||
|
|
"required": false,
|
||
|
|
"type": "boolean",
|
||
|
|
"javaType": "boolean",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": true,
|
||
|
|
"description": "Use Credentials when interacting with PubSub service (no authentication is required when using emulator)."
|
||
|
|
},
|
||
|
|
"endpoint": {
|
||
|
|
"index": 1,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Endpoint",
|
||
|
|
"group": "common",
|
||
|
|
"label": "common",
|
||
|
|
"required": false,
|
||
|
|
"type": "string",
|
||
|
|
"javaType": "java.lang.String",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "Endpoint to use with local Pub/Sub emulator."
|
||
|
|
},
|
||
|
|
"serviceAccountKey": {
|
||
|
|
"index": 2,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Service Account Key",
|
||
|
|
"group": "common",
|
||
|
|
"label": "common",
|
||
|
|
"required": false,
|
||
|
|
"type": "string",
|
||
|
|
"javaType": "java.lang.String",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "The Service account key that can be used as credentials for the PubSub publisher/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems."
|
||
|
|
},
|
||
|
|
"bridgeErrorHandler": {
|
||
|
|
"index": 3,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Bridge Error Handler",
|
||
|
|
"group": "consumer",
|
||
|
|
"label": "consumer",
|
||
|
|
"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."
|
||
|
|
},
|
||
|
|
"synchronousPullRetryableCodes": {
|
||
|
|
"index": 4,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Synchronous Pull Retryable Codes",
|
||
|
|
"group": "consumer",
|
||
|
|
"label": "consumer",
|
||
|
|
"required": false,
|
||
|
|
"type": "string",
|
||
|
|
"javaType": "java.lang.String",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "Comma-separated list of additional retryable error codes for synchronous pull. By default the PubSub client library retries ABORTED, UNAVAILABLE, UNKNOWN"
|
||
|
|
},
|
||
|
|
"lazyStartProducer": {
|
||
|
|
"index": 5,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Lazy Start Producer",
|
||
|
|
"group": "producer",
|
||
|
|
"label": "producer",
|
||
|
|
"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."
|
||
|
|
},
|
||
|
|
"publisherCacheSize": {
|
||
|
|
"index": 6,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Publisher Cache Size",
|
||
|
|
"group": "producer",
|
||
|
|
"label": "producer",
|
||
|
|
"required": false,
|
||
|
|
"type": "integer",
|
||
|
|
"javaType": "int",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "Maximum number of producers to cache. This could be increased if you have producers for lots of different topics."
|
||
|
|
},
|
||
|
|
"publisherCacheTimeout": {
|
||
|
|
"index": 7,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Publisher Cache Timeout",
|
||
|
|
"group": "producer",
|
||
|
|
"label": "producer",
|
||
|
|
"required": false,
|
||
|
|
"type": "integer",
|
||
|
|
"javaType": "int",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "How many milliseconds should each producer stay alive in the cache."
|
||
|
|
},
|
||
|
|
"autowiredEnabled": {
|
||
|
|
"index": 8,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Autowired Enabled",
|
||
|
|
"group": "advanced",
|
||
|
|
"label": "advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "boolean",
|
||
|
|
"javaType": "boolean",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": true,
|
||
|
|
"description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc."
|
||
|
|
},
|
||
|
|
"publisherTerminationTimeout": {
|
||
|
|
"index": 9,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Publisher Termination Timeout",
|
||
|
|
"group": "advanced",
|
||
|
|
"label": "advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "integer",
|
||
|
|
"javaType": "int",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "How many milliseconds should a producer be allowed to terminate."
|
||
|
|
},
|
||
|
|
"headerFilterStrategy": {
|
||
|
|
"index": 10,
|
||
|
|
"kind": "property",
|
||
|
|
"displayName": "Header Filter Strategy",
|
||
|
|
"group": "filter",
|
||
|
|
"label": "filter",
|
||
|
|
"required": false,
|
||
|
|
"type": "object",
|
||
|
|
"javaType": "org.apache.camel.spi.HeaderFilterStrategy",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message."
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"headers": {
|
||
|
|
"CamelGooglePubsubMessageId": {
|
||
|
|
"index": 0,
|
||
|
|
"kind": "header",
|
||
|
|
"displayName": "",
|
||
|
|
"group": "common",
|
||
|
|
"label": "",
|
||
|
|
"required": false,
|
||
|
|
"javaType": "String",
|
||
|
|
"deprecated": false,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "The ID of the message, assigned by the server when the message is published.",
|
||
|
|
"constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#MESSAGE_ID"
|
||
|
|
},
|
||
|
|
"CamelGooglePubsubMsgAckId": {
|
||
|
|
"index": 1,
|
||
|
|
"kind": "header",
|
||
|
|
"displayName": "",
|
||
|
|
"group": "consumer",
|
||
|
|
"label": "consumer",
|
||
|
|
"required": false,
|
||
|
|
"javaType": "String",
|
||
|
|
"deprecated": false,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "The ID used to acknowledge the received message.",
|
||
|
|
"constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#ACK_ID"
|
||
|
|
},
|
||
|
|
"CamelGooglePubsubPublishTime": {
|
||
|
|
"index": 2,
|
||
|
|
"kind": "header",
|
||
|
|
"displayName": "",
|
||
|
|
"group": "consumer",
|
||
|
|
"label": "consumer",
|
||
|
|
"required": false,
|
||
|
|
"javaType": "com.google.protobuf.Timestamp",
|
||
|
|
"deprecated": false,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "The time at which the message was published",
|
||
|
|
"constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#PUBLISH_TIME"
|
||
|
|
},
|
||
|
|
"CamelGooglePubsubAttributes": {
|
||
|
|
"index": 3,
|
||
|
|
"kind": "header",
|
||
|
|
"displayName": "",
|
||
|
|
"group": "common",
|
||
|
|
"label": "",
|
||
|
|
"required": false,
|
||
|
|
"javaType": "Map<String, String>",
|
||
|
|
"deprecated": true,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "The attributes of the message.",
|
||
|
|
"constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#ATTRIBUTES"
|
||
|
|
},
|
||
|
|
"CamelGooglePubsubOrderingKey": {
|
||
|
|
"index": 4,
|
||
|
|
"kind": "header",
|
||
|
|
"displayName": "",
|
||
|
|
"group": "producer",
|
||
|
|
"label": "producer",
|
||
|
|
"required": false,
|
||
|
|
"javaType": "String",
|
||
|
|
"deprecated": false,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "If non-empty, identifies related messages for which publish order should be respected.",
|
||
|
|
"constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#ORDERING_KEY"
|
||
|
|
},
|
||
|
|
"CamelGooglePubsubAcknowledge": {
|
||
|
|
"index": 5,
|
||
|
|
"kind": "header",
|
||
|
|
"displayName": "",
|
||
|
|
"group": "consumer",
|
||
|
|
"label": "consumer",
|
||
|
|
"required": false,
|
||
|
|
"javaType": "org.apache.camel.component.google.pubsub.consumer.GooglePubsubAcknowledge",
|
||
|
|
"deprecated": false,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "Can be used to manually acknowledge or negative-acknowledge a message when ackMode=NONE.",
|
||
|
|
"constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#GOOGLE_PUBSUB_ACKNOWLEDGE"
|
||
|
|
},
|
||
|
|
"CamelGooglePubsubDeliveryAttempt": {
|
||
|
|
"index": 6,
|
||
|
|
"kind": "header",
|
||
|
|
"displayName": "",
|
||
|
|
"group": "consumer",
|
||
|
|
"label": "consumer",
|
||
|
|
"required": false,
|
||
|
|
"javaType": "Integer",
|
||
|
|
"deprecated": false,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "The delivery attempt counter received from PubSub. This is the approximate number of times the message has been delivered. This will be 1 for the first delivery. This feature requires a dead-letter policy to be configured on the subscription.",
|
||
|
|
"constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#DELIVERY_ATTEMPT"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"properties": {
|
||
|
|
"projectId": {
|
||
|
|
"index": 0,
|
||
|
|
"kind": "path",
|
||
|
|
"displayName": "Project Id",
|
||
|
|
"group": "common",
|
||
|
|
"label": "common",
|
||
|
|
"required": true,
|
||
|
|
"type": "string",
|
||
|
|
"javaType": "java.lang.String",
|
||
|
|
"deprecated": false,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "The Google Cloud PubSub Project Id"
|
||
|
|
},
|
||
|
|
"destinationName": {
|
||
|
|
"index": 1,
|
||
|
|
"kind": "path",
|
||
|
|
"displayName": "Destination Name",
|
||
|
|
"group": "common",
|
||
|
|
"label": "common",
|
||
|
|
"required": true,
|
||
|
|
"type": "string",
|
||
|
|
"javaType": "java.lang.String",
|
||
|
|
"deprecated": false,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "The Destination Name. For the consumer this will be the subscription name, while for the producer this will be the topic name."
|
||
|
|
},
|
||
|
|
"ackMode": {
|
||
|
|
"index": 2,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Ack Mode",
|
||
|
|
"group": "consumer",
|
||
|
|
"label": "consumer",
|
||
|
|
"required": false,
|
||
|
|
"type": "enum",
|
||
|
|
"javaType": "org.apache.camel.component.google.pubsub.GooglePubsubConstants.AckMode",
|
||
|
|
"enum": [
|
||
|
|
"AUTO",
|
||
|
|
"NONE"
|
||
|
|
],
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": "AUTO",
|
||
|
|
"description": "AUTO = exchange gets ack'ed/nack'ed on completion. NONE = downstream process has to ack/nack explicitly"
|
||
|
|
},
|
||
|
|
"bridgeErrorHandler": {
|
||
|
|
"index": 3,
|
||
|
|
"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."
|
||
|
|
},
|
||
|
|
"concurrentConsumers": {
|
||
|
|
"index": 4,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Concurrent Consumers",
|
||
|
|
"group": "consumer (advanced)",
|
||
|
|
"label": "consumer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "integer",
|
||
|
|
"javaType": "java.lang.Integer",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": 1,
|
||
|
|
"description": "The number of parallel streams consuming from the subscription"
|
||
|
|
},
|
||
|
|
"exceptionHandler": {
|
||
|
|
"index": 5,
|
||
|
|
"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": 6,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Exchange Pattern",
|
||
|
|
"group": "consumer (advanced)",
|
||
|
|
"label": "consumer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "enum",
|
||
|
|
"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."
|
||
|
|
},
|
||
|
|
"maxAckExtensionPeriod": {
|
||
|
|
"index": 7,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Max Ack Extension Period",
|
||
|
|
"group": "consumer (advanced)",
|
||
|
|
"label": "consumer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "integer",
|
||
|
|
"javaType": "int",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": 3600,
|
||
|
|
"description": "Set the maximum period a message ack deadline will be extended. Value in seconds"
|
||
|
|
},
|
||
|
|
"maxDeliveryAttempts": {
|
||
|
|
"index": 8,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Max Delivery Attempts",
|
||
|
|
"group": "consumer (advanced)",
|
||
|
|
"label": "consumer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "integer",
|
||
|
|
"javaType": "int",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": 0,
|
||
|
|
"description": "The maximum number of delivery attempts for each message. When set to a positive value, the consumer will automatically nack any message whose delivery attempt count is greater than or equal to this value, allowing Pub/Sub to route it to the dead-letter topic without processing it. This prevents infinite redelivery loops when short retry delays are configured. If not explicitly set and the subscription has a dead-letter policy, the value is automatically fetched from the subscription configuration at consumer startup. Set to 0 to disable enforcement."
|
||
|
|
},
|
||
|
|
"maxMessagesPerPoll": {
|
||
|
|
"index": 9,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Max Messages Per Poll",
|
||
|
|
"group": "consumer (advanced)",
|
||
|
|
"label": "consumer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "integer",
|
||
|
|
"javaType": "java.lang.Integer",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": 1,
|
||
|
|
"description": "The max number of messages to receive from the server in a single API call"
|
||
|
|
},
|
||
|
|
"synchronousPull": {
|
||
|
|
"index": 10,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Synchronous Pull",
|
||
|
|
"group": "consumer (advanced)",
|
||
|
|
"label": "consumer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "boolean",
|
||
|
|
"javaType": "boolean",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": false,
|
||
|
|
"description": "Synchronously pull batches of messages"
|
||
|
|
},
|
||
|
|
"lazyStartProducer": {
|
||
|
|
"index": 11,
|
||
|
|
"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."
|
||
|
|
},
|
||
|
|
"messageOrderingEnabled": {
|
||
|
|
"index": 12,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Message Ordering Enabled",
|
||
|
|
"group": "producer (advanced)",
|
||
|
|
"label": "producer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "boolean",
|
||
|
|
"javaType": "boolean",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": false,
|
||
|
|
"description": "Should message ordering be enabled"
|
||
|
|
},
|
||
|
|
"pubsubEndpoint": {
|
||
|
|
"index": 13,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Pubsub Endpoint",
|
||
|
|
"group": "producer (advanced)",
|
||
|
|
"label": "producer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "string",
|
||
|
|
"javaType": "java.lang.String",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "Pub/Sub endpoint to use. Required when using message ordering, and ensures that messages are received in order even when multiple publishers are used"
|
||
|
|
},
|
||
|
|
"retry": {
|
||
|
|
"index": 14,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Retry",
|
||
|
|
"group": "producer (advanced)",
|
||
|
|
"label": "producer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "object",
|
||
|
|
"javaType": "com.google.api.gax.retrying.RetrySettings",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "A custom RetrySettings to control how the publisher handles retry-able failures"
|
||
|
|
},
|
||
|
|
"serializer": {
|
||
|
|
"index": 15,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Serializer",
|
||
|
|
"group": "producer (advanced)",
|
||
|
|
"label": "producer,advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "object",
|
||
|
|
"javaType": "org.apache.camel.component.google.pubsub.serializer.GooglePubsubSerializer",
|
||
|
|
"deprecated": false,
|
||
|
|
"deprecationNote": "",
|
||
|
|
"autowired": true,
|
||
|
|
"secret": false,
|
||
|
|
"description": "A custom GooglePubsubSerializer to use for serializing message payloads in the producer"
|
||
|
|
},
|
||
|
|
"headerFilterStrategy": {
|
||
|
|
"index": 16,
|
||
|
|
"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 headers to and from Camel message."
|
||
|
|
},
|
||
|
|
"includeAllGoogleProperties": {
|
||
|
|
"index": 17,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Include All Google Properties",
|
||
|
|
"group": "advanced",
|
||
|
|
"label": "advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "boolean",
|
||
|
|
"javaType": "boolean",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": false,
|
||
|
|
"description": "Whether to include all Google headers when mapping from Pubsub to Camel Message. Setting this to true will include properties such as x-goog etc."
|
||
|
|
},
|
||
|
|
"loggerId": {
|
||
|
|
"index": 18,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Logger Id",
|
||
|
|
"group": "advanced",
|
||
|
|
"label": "advanced",
|
||
|
|
"required": false,
|
||
|
|
"type": "string",
|
||
|
|
"javaType": "java.lang.String",
|
||
|
|
"deprecated": true,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "To use a custom logger name"
|
||
|
|
},
|
||
|
|
"authenticate": {
|
||
|
|
"index": 19,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Authenticate",
|
||
|
|
"group": "security",
|
||
|
|
"label": "security",
|
||
|
|
"required": false,
|
||
|
|
"type": "boolean",
|
||
|
|
"javaType": "boolean",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"defaultValue": true,
|
||
|
|
"description": "Use Credentials when interacting with PubSub service (no authentication is required when using emulator)."
|
||
|
|
},
|
||
|
|
"serviceAccountKey": {
|
||
|
|
"index": 20,
|
||
|
|
"kind": "parameter",
|
||
|
|
"displayName": "Service Account Key",
|
||
|
|
"group": "security",
|
||
|
|
"label": "security",
|
||
|
|
"required": false,
|
||
|
|
"type": "string",
|
||
|
|
"javaType": "java.lang.String",
|
||
|
|
"deprecated": false,
|
||
|
|
"autowired": false,
|
||
|
|
"secret": false,
|
||
|
|
"description": "The Service account key that can be used as credentials for the PubSub publisher/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems."
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"propertiesSchema": {
|
||
|
|
"properties": {
|
||
|
|
"projectId": {
|
||
|
|
"title": "Project Id",
|
||
|
|
"description": "The Google Cloud PubSub Project Id",
|
||
|
|
"type": "string",
|
||
|
|
"$comment": "group:common"
|
||
|
|
},
|
||
|
|
"destinationName": {
|
||
|
|
"title": "Destination Name",
|
||
|
|
"description": "The Destination Name. For the consumer this will be the subscription name, while for the producer this will be the topic name.",
|
||
|
|
"type": "string",
|
||
|
|
"$comment": "group:common"
|
||
|
|
},
|
||
|
|
"ackMode": {
|
||
|
|
"title": "Ack Mode",
|
||
|
|
"description": "AUTO = exchange gets ack'ed/nack'ed on completion. NONE = downstream process has to ack/nack explicitly",
|
||
|
|
"type": "string",
|
||
|
|
"enum": [
|
||
|
|
"AUTO",
|
||
|
|
"NONE"
|
||
|
|
],
|
||
|
|
"$comment": "group:consumer",
|
||
|
|
"default": "AUTO"
|
||
|
|
},
|
||
|
|
"bridgeErrorHandler": {
|
||
|
|
"title": "Bridge Error Handler",
|
||
|
|
"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.",
|
||
|
|
"type": "boolean",
|
||
|
|
"$comment": "group:consumer (advanced)",
|
||
|
|
"default": false
|
||
|
|
},
|
||
|
|
"concurrentConsumers": {
|
||
|
|
"title": "Concurrent Consumers",
|
||
|
|
"description": "The number of parallel streams consuming from the subscription",
|
||
|
|
"type": "integer",
|
||
|
|
"$comment": "group:consumer (advanced)",
|
||
|
|
"default": 1
|
||
|
|
},
|
||
|
|
"exceptionHandler": {
|
||
|
|
"title": "Exception Handler",
|
||
|
|
"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.",
|
||
|
|
"type": "string",
|
||
|
|
"$comment": "group:consumer (advanced)",
|
||
|
|
"format": "bean:org.apache.camel.spi.ExceptionHandler"
|
||
|
|
},
|
||
|
|
"exchangePattern": {
|
||
|
|
"title": "Exchange Pattern",
|
||
|
|
"description": "Sets the exchange pattern when the consumer creates an exchange.",
|
||
|
|
"type": "string",
|
||
|
|
"enum": [
|
||
|
|
"InOnly",
|
||
|
|
"InOut"
|
||
|
|
],
|
||
|
|
"$comment": "group:consumer (advanced)"
|
||
|
|
},
|
||
|
|
"maxAckExtensionPeriod": {
|
||
|
|
"title": "Max Ack Extension Period",
|
||
|
|
"description": "Set the maximum period a message ack deadline will be extended. Value in seconds",
|
||
|
|
"type": "integer",
|
||
|
|
"$comment": "group:consumer (advanced)",
|
||
|
|
"default": 3600
|
||
|
|
},
|
||
|
|
"maxDeliveryAttempts": {
|
||
|
|
"title": "Max Delivery Attempts",
|
||
|
|
"description": "The maximum number of delivery attempts for each message. When set to a positive value, the consumer will automatically nack any message whose delivery attempt count is greater than or equal to this value, allowing Pub/Sub to route it to the dead-letter topic without processing it. This prevents infinite redelivery loops when short retry delays are configured. If not explicitly set and the subscription has a dead-letter policy, the value is automatically fetched from the subscription configuration at consumer startup. Set to 0 to disable enforcement.",
|
||
|
|
"type": "integer",
|
||
|
|
"$comment": "group:consumer (advanced)",
|
||
|
|
"default": 0
|
||
|
|
},
|
||
|
|
"maxMessagesPerPoll": {
|
||
|
|
"title": "Max Messages Per Poll",
|
||
|
|
"description": "The max number of messages to receive from the server in a single API call",
|
||
|
|
"type": "integer",
|
||
|
|
"$comment": "group:consumer (advanced)",
|
||
|
|
"default": 1
|
||
|
|
},
|
||
|
|
"synchronousPull": {
|
||
|
|
"title": "Synchronous Pull",
|
||
|
|
"description": "Synchronously pull batches of messages",
|
||
|
|
"type": "boolean",
|
||
|
|
"$comment": "group:consumer (advanced)",
|
||
|
|
"default": false
|
||
|
|
},
|
||
|
|
"lazyStartProducer": {
|
||
|
|
"title": "Lazy Start Producer",
|
||
|
|
"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.",
|
||
|
|
"type": "boolean",
|
||
|
|
"$comment": "group:producer (advanced)",
|
||
|
|
"default": false
|
||
|
|
},
|
||
|
|
"messageOrderingEnabled": {
|
||
|
|
"title": "Message Ordering Enabled",
|
||
|
|
"description": "Should message ordering be enabled",
|
||
|
|
"type": "boolean",
|
||
|
|
"$comment": "group:producer (advanced)",
|
||
|
|
"default": false
|
||
|
|
},
|
||
|
|
"pubsubEndpoint": {
|
||
|
|
"title": "Pubsub Endpoint",
|
||
|
|
"description": "Pub/Sub endpoint to use. Required when using message ordering, and ensures that messages are received in order even when multiple publishers are used",
|
||
|
|
"type": "string",
|
||
|
|
"$comment": "group:producer (advanced)"
|
||
|
|
},
|
||
|
|
"retry": {
|
||
|
|
"title": "Retry",
|
||
|
|
"description": "A custom RetrySettings to control how the publisher handles retry-able failures",
|
||
|
|
"type": "string",
|
||
|
|
"$comment": "group:producer (advanced)",
|
||
|
|
"format": "bean:com.google.api.gax.retrying.RetrySettings"
|
||
|
|
},
|
||
|
|
"serializer": {
|
||
|
|
"title": "Serializer",
|
||
|
|
"description": "A custom GooglePubsubSerializer to use for serializing message payloads in the producer",
|
||
|
|
"type": "string",
|
||
|
|
"$comment": "group:producer (advanced)",
|
||
|
|
"format": "bean:org.apache.camel.component.google.pubsub.serializer.GooglePubsubSerializer"
|
||
|
|
},
|
||
|
|
"headerFilterStrategy": {
|
||
|
|
"title": "Header Filter Strategy",
|
||
|
|
"description": "To use a custom HeaderFilterStrategy to filter headers to and from Camel message.",
|
||
|
|
"type": "string",
|
||
|
|
"$comment": "group:advanced",
|
||
|
|
"format": "bean:org.apache.camel.spi.HeaderFilterStrategy"
|
||
|
|
},
|
||
|
|
"includeAllGoogleProperties": {
|
||
|
|
"title": "Include All Google Properties",
|
||
|
|
"description": "Whether to include all Google headers when mapping from Pubsub to Camel Message. Setting this to true will include properties such as x-goog etc.",
|
||
|
|
"type": "boolean",
|
||
|
|
"$comment": "group:advanced",
|
||
|
|
"default": false
|
||
|
|
},
|
||
|
|
"loggerId": {
|
||
|
|
"title": "Logger Id",
|
||
|
|
"description": "To use a custom logger name",
|
||
|
|
"type": "string",
|
||
|
|
"$comment": "group:advanced",
|
||
|
|
"deprecated": true
|
||
|
|
},
|
||
|
|
"authenticate": {
|
||
|
|
"title": "Authenticate",
|
||
|
|
"description": "Use Credentials when interacting with PubSub service (no authentication is required when using emulator).",
|
||
|
|
"type": "boolean",
|
||
|
|
"$comment": "group:security",
|
||
|
|
"default": true
|
||
|
|
},
|
||
|
|
"serviceAccountKey": {
|
||
|
|
"title": "Service Account Key",
|
||
|
|
"description": "The Service account key that can be used as credentials for the PubSub publisher/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",
|
||
|
|
"type": "string",
|
||
|
|
"$comment": "group:security"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||
|
|
"type": "object",
|
||
|
|
"required": [
|
||
|
|
"projectId",
|
||
|
|
"destinationName"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|