{
  "groups": [
    {
      "name": "camel.component.ignite-cache",
      "type": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration",
      "sourceType": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-cache.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    },
    {
      "name": "camel.component.ignite-compute",
      "type": "org.apache.camel.component.ignite.compute.springboot.IgniteComputeComponentConfiguration",
      "sourceType": "org.apache.camel.component.ignite.compute.springboot.IgniteComputeComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-compute.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.ignite.compute.springboot.IgniteComputeComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    },
    {
      "name": "camel.component.ignite-events",
      "type": "org.apache.camel.component.ignite.events.springboot.IgniteEventsComponentConfiguration",
      "sourceType": "org.apache.camel.component.ignite.events.springboot.IgniteEventsComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-events.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.ignite.events.springboot.IgniteEventsComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    },
    {
      "name": "camel.component.ignite-idgen",
      "type": "org.apache.camel.component.ignite.idgen.springboot.IgniteIdGenComponentConfiguration",
      "sourceType": "org.apache.camel.component.ignite.idgen.springboot.IgniteIdGenComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-idgen.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.ignite.idgen.springboot.IgniteIdGenComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    },
    {
      "name": "camel.component.ignite-messaging",
      "type": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration",
      "sourceType": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-messaging.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    },
    {
      "name": "camel.component.ignite-queue",
      "type": "org.apache.camel.component.ignite.queue.springboot.IgniteQueueComponentConfiguration",
      "sourceType": "org.apache.camel.component.ignite.queue.springboot.IgniteQueueComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-queue.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.ignite.queue.springboot.IgniteQueueComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    },
    {
      "name": "camel.component.ignite-set",
      "type": "org.apache.camel.component.ignite.set.springboot.IgniteSetComponentConfiguration",
      "sourceType": "org.apache.camel.component.ignite.set.springboot.IgniteSetComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-set.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.ignite.set.springboot.IgniteSetComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    }
  ],
  "properties": [
    {
      "name": "camel.component.ignite-cache.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.ignite-cache.bridge-error-handler",
      "type": "java.lang.Boolean",
      "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. 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.",
      "sourceType": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.ignite-cache.configuration-resource",
      "type": "java.lang.Object",
      "description": "The resource from where to load the configuration. It can be a: URL, String or InputStream type. The option is a java.lang.Object type.",
      "sourceType": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-cache.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.ignite-cache.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the ignite-cache component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-cache.ignite",
      "type": "org.apache.ignite.Ignite",
      "description": "To use an existing Ignite instance. The option is a org.apache.ignite.Ignite type.",
      "sourceType": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-cache.ignite-configuration",
      "type": "org.apache.ignite.configuration.IgniteConfiguration",
      "description": "Allows the user to set a programmatic ignite configuration. The option is a org.apache.ignite.configuration.IgniteConfiguration type.",
      "sourceType": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-cache.lazy-start-producer",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.cache.springboot.IgniteCacheComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.ignite-compute.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.compute.springboot.IgniteComputeComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.ignite-compute.configuration-resource",
      "type": "java.lang.Object",
      "description": "The resource from where to load the configuration. It can be a: URL, String or InputStream type. The option is a java.lang.Object type.",
      "sourceType": "org.apache.camel.component.ignite.compute.springboot.IgniteComputeComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-compute.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.ignite-compute.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the ignite-compute component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.ignite.compute.springboot.IgniteComputeComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-compute.ignite",
      "type": "org.apache.ignite.Ignite",
      "description": "To use an existing Ignite instance. The option is a org.apache.ignite.Ignite type.",
      "sourceType": "org.apache.camel.component.ignite.compute.springboot.IgniteComputeComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-compute.ignite-configuration",
      "type": "org.apache.ignite.configuration.IgniteConfiguration",
      "description": "Allows the user to set a programmatic ignite configuration. The option is a org.apache.ignite.configuration.IgniteConfiguration type.",
      "sourceType": "org.apache.camel.component.ignite.compute.springboot.IgniteComputeComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-compute.lazy-start-producer",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.compute.springboot.IgniteComputeComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.ignite-events.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.events.springboot.IgniteEventsComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.ignite-events.bridge-error-handler",
      "type": "java.lang.Boolean",
      "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. 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.",
      "sourceType": "org.apache.camel.component.ignite.events.springboot.IgniteEventsComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.ignite-events.configuration-resource",
      "type": "java.lang.Object",
      "description": "The resource from where to load the configuration. It can be a: URL, String or InputStream type. The option is a java.lang.Object type.",
      "sourceType": "org.apache.camel.component.ignite.events.springboot.IgniteEventsComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-events.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.ignite-events.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the ignite-events component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.ignite.events.springboot.IgniteEventsComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-events.ignite",
      "type": "org.apache.ignite.Ignite",
      "description": "To use an existing Ignite instance. The option is a org.apache.ignite.Ignite type.",
      "sourceType": "org.apache.camel.component.ignite.events.springboot.IgniteEventsComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-events.ignite-configuration",
      "type": "org.apache.ignite.configuration.IgniteConfiguration",
      "description": "Allows the user to set a programmatic ignite configuration. The option is a org.apache.ignite.configuration.IgniteConfiguration type.",
      "sourceType": "org.apache.camel.component.ignite.events.springboot.IgniteEventsComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-idgen.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.idgen.springboot.IgniteIdGenComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.ignite-idgen.configuration-resource",
      "type": "java.lang.Object",
      "description": "The resource from where to load the configuration. It can be a: URL, String or InputStream type. The option is a java.lang.Object type.",
      "sourceType": "org.apache.camel.component.ignite.idgen.springboot.IgniteIdGenComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-idgen.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.ignite-idgen.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the ignite-idgen component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.ignite.idgen.springboot.IgniteIdGenComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-idgen.ignite",
      "type": "org.apache.ignite.Ignite",
      "description": "To use an existing Ignite instance. The option is a org.apache.ignite.Ignite type.",
      "sourceType": "org.apache.camel.component.ignite.idgen.springboot.IgniteIdGenComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-idgen.ignite-configuration",
      "type": "org.apache.ignite.configuration.IgniteConfiguration",
      "description": "Allows the user to set a programmatic ignite configuration. The option is a org.apache.ignite.configuration.IgniteConfiguration type.",
      "sourceType": "org.apache.camel.component.ignite.idgen.springboot.IgniteIdGenComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-idgen.lazy-start-producer",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.idgen.springboot.IgniteIdGenComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.ignite-messaging.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.ignite-messaging.bridge-error-handler",
      "type": "java.lang.Boolean",
      "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. 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.",
      "sourceType": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.ignite-messaging.configuration-resource",
      "type": "java.lang.Object",
      "description": "The resource from where to load the configuration. It can be a: URL, String or InputStream type. The option is a java.lang.Object type.",
      "sourceType": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-messaging.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.ignite-messaging.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the ignite-messaging component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-messaging.ignite",
      "type": "org.apache.ignite.Ignite",
      "description": "To use an existing Ignite instance. The option is a org.apache.ignite.Ignite type.",
      "sourceType": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-messaging.ignite-configuration",
      "type": "org.apache.ignite.configuration.IgniteConfiguration",
      "description": "Allows the user to set a programmatic ignite configuration. The option is a org.apache.ignite.configuration.IgniteConfiguration type.",
      "sourceType": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-messaging.lazy-start-producer",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.messaging.springboot.IgniteMessagingComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.ignite-queue.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.queue.springboot.IgniteQueueComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.ignite-queue.configuration-resource",
      "type": "java.lang.Object",
      "description": "The resource from where to load the configuration. It can be a: URL, String or InputStream type. The option is a java.lang.Object type.",
      "sourceType": "org.apache.camel.component.ignite.queue.springboot.IgniteQueueComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-queue.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.ignite-queue.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the ignite-queue component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.ignite.queue.springboot.IgniteQueueComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-queue.ignite",
      "type": "org.apache.ignite.Ignite",
      "description": "To use an existing Ignite instance. The option is a org.apache.ignite.Ignite type.",
      "sourceType": "org.apache.camel.component.ignite.queue.springboot.IgniteQueueComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-queue.ignite-configuration",
      "type": "org.apache.ignite.configuration.IgniteConfiguration",
      "description": "Allows the user to set a programmatic ignite configuration. The option is a org.apache.ignite.configuration.IgniteConfiguration type.",
      "sourceType": "org.apache.camel.component.ignite.queue.springboot.IgniteQueueComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-queue.lazy-start-producer",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.queue.springboot.IgniteQueueComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.ignite-set.autowired-enabled",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.set.springboot.IgniteSetComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.ignite-set.configuration-resource",
      "type": "java.lang.Object",
      "description": "The resource from where to load the configuration. It can be a: URL, String or InputStream type. The option is a java.lang.Object type.",
      "sourceType": "org.apache.camel.component.ignite.set.springboot.IgniteSetComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-set.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.ignite-set.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the ignite-set component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.ignite.set.springboot.IgniteSetComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-set.ignite",
      "type": "org.apache.ignite.Ignite",
      "description": "To use an existing Ignite instance. The option is a org.apache.ignite.Ignite type.",
      "sourceType": "org.apache.camel.component.ignite.set.springboot.IgniteSetComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-set.ignite-configuration",
      "type": "org.apache.ignite.configuration.IgniteConfiguration",
      "description": "Allows the user to set a programmatic ignite configuration. The option is a org.apache.ignite.configuration.IgniteConfiguration type.",
      "sourceType": "org.apache.camel.component.ignite.set.springboot.IgniteSetComponentConfiguration"
    },
    {
      "name": "camel.component.ignite-set.lazy-start-producer",
      "type": "java.lang.Boolean",
      "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.",
      "sourceType": "org.apache.camel.component.ignite.set.springboot.IgniteSetComponentConfiguration",
      "defaultValue": false
    }
  ],
  "hints": []
}