[
{
  "bean" : {
    "kind" : "bean",
    "name" : "AcceptAllHeaderFilterStrategy",
    "javaType" : "org.apache.camel.support.AcceptAllHeaderFilterStrategy",
    "interfaceType" : "org.apache.camel.spi.HeaderFilterStrategy",
    "title" : "Accept All Header Filter Strategy",
    "description" : "This strategy is used for accepting all headers.The intention is for use with development and troubleshooting where you want Camel to keep all headers\n * when sending and receiving using components that uses HeaderFilterStrategy",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-support",
    "version" : "4.14.2"
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "CaffeineAggregationRepository",
    "javaType" : "org.apache.camel.component.caffeine.processor.aggregate.CaffeineAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "Caffeine Aggregation Repository",
    "description" : "Aggregation repository that uses Caffeine Cache to store exchanges.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-caffeine",
    "version" : "4.14.2",
    "properties" : {
      "useRecovery" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Use Recovery",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether or not recovery is enabled"
      },
      "deadLetterUri" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Dead Letter Uri",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional dead letter channel which exhausted recovered Exchange should be send to."
      },
      "recoveryInterval" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Recovery Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 5000,
        "description" : "Sets the interval between recovery scans"
      },
      "maximumRedeliveries" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Maximum Redeliveries",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 3,
        "description" : "Sets an optional limit of the number of redelivery attempt of recovered Exchange should be attempted, before its exhausted. When this limit is hit, then the Exchange is moved to the dead letter channel."
      },
      "allowSerializedHeaders" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Allow Serialized Headers",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether headers on the Exchange that are Java objects and Serializable should be included and saved to the repository"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "CaffeineIdempotentRepository",
    "javaType" : "org.apache.camel.component.caffeine.processor.idempotent.CaffeineIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Caffeine Idempotent Repository",
    "description" : "Idempotent repository that uses Caffiene cache to store message ids.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-caffeine",
    "version" : "4.14.2",
    "properties" : {
      "cacheName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Cache Name",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "CaffeineIdempotentRepository",
        "description" : "Name of cache"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "CassandraAggregationRepository",
    "javaType" : "org.apache.camel.processor.aggregate.cassandra.CassandraAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "Cassandra Aggregation Repository",
    "description" : "Aggregation repository that uses Cassandra table to store exchanges. Advice: use LeveledCompaction for this table and tune read/write consistency levels.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-cassandraql",
    "version" : "4.14.2",
    "properties" : {
      "sessionHolder" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Session Holder",
        "required" : true,
        "type" : "object",
        "javaType" : "org.apache.camel.utils.cassandra.CassandraSessionHolder",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Cassandra session"
      },
      "table" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Table",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "CAMEL_AGGREGATION",
        "description" : "The table name for storing the data"
      },
      "exchangeIdColumn" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Exchange Id Column",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "EXCHANGE_ID",
        "description" : "Column name for Exchange ID"
      },
      "exchangeColumn" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Exchange Column",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "EXCHANGE",
        "description" : "Column name for Exchange"
      },
      "prefixPKValues" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Prefix Primary Key Values",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Values used as primary key prefix. Multiple values can be separated by comma."
      },
      "pkColumns" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Primary Key Columns",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "KEY",
        "description" : "Primary key columns. Multiple values can be separated by comma."
      },
      "ttl" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Time to Live",
        "required" : false,
        "type" : "integer",
        "javaType" : "java.lang.Integer",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Time to live in seconds used for inserts"
      },
      "writeConsistencyLevel" : {
        "index" : 7,
        "kind" : "property",
        "displayName" : "Write Consistency Level",
        "required" : false,
        "type" : "enum",
        "javaType" : "com.datastax.oss.driver.api.core.ConsistencyLevel",
        "enum" : [ "ANY", "ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_ONE", "LOCAL_QUORUM", "EACH_QUORUM", "SERIAL", "LOCAL_SERIAL" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Write consistency level"
      },
      "readConsistencyLevel" : {
        "index" : 8,
        "kind" : "property",
        "displayName" : "Read Consistency Level",
        "required" : false,
        "type" : "enum",
        "javaType" : "com.datastax.oss.driver.api.core.ConsistencyLevel",
        "enum" : [ "ANY", "ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_ONE", "LOCAL_QUORUM", "EACH_QUORUM", "SERIAL", "LOCAL_SERIAL" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Read consistency level"
      },
      "recoveryInterval" : {
        "index" : 9,
        "kind" : "property",
        "displayName" : "Recovery Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 5000,
        "description" : "Sets the interval between recovery scans"
      },
      "useRecovery" : {
        "index" : 10,
        "kind" : "property",
        "displayName" : "Use Recovery",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether or not recovery is enabled"
      },
      "deadLetterUri" : {
        "index" : 11,
        "kind" : "property",
        "displayName" : "Dead Letter Uri",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional dead letter channel which exhausted recovered Exchange should be send to."
      },
      "maximumRedeliveries" : {
        "index" : 12,
        "kind" : "property",
        "displayName" : "Maximum Redeliveries",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional limit of the number of redelivery attempt of recovered Exchange should be attempted, before its exhausted. When this limit is hit, then the Exchange is moved to the dead letter channel."
      },
      "allowSerializedHeaders" : {
        "index" : 13,
        "kind" : "property",
        "displayName" : "Allow Serialized Headers",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether headers on the Exchange that are Java objects and Serializable should be included and saved to the repository"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "CassandraIdempotentRepository",
    "javaType" : "org.apache.camel.processor.idempotent.cassandra.CassandraIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Cassandra Idempotent Repository",
    "description" : "Idempotent repository that uses Cassandra table to store message ids. Advice: use LeveledCompaction for this table and tune read/write consistency levels.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-cassandraql",
    "version" : "4.14.2",
    "properties" : {
      "session" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Session",
        "required" : true,
        "type" : "object",
        "javaType" : "org.apache.camel.utils.cassandra.CassandraSessionHolder",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Cassandra session"
      },
      "table" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Table",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "CAMEL_IDEMPOTENT",
        "description" : "The table name for storing the data"
      },
      "prefixPKValues" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Prefix Primary Key Values",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Values used as primary key prefix. Multiple values can be separated by comma."
      },
      "pkColumns" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Primary Key Columns",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "KEY",
        "description" : "Primary key columns. Multiple values can be separated by comma."
      },
      "ttl" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Time to Live",
        "required" : false,
        "type" : "integer",
        "javaType" : "java.lang.Integer",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Time to live in seconds used for inserts"
      },
      "writeConsistencyLevel" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Write Consistency Level",
        "required" : false,
        "type" : "enum",
        "javaType" : "com.datastax.oss.driver.api.core.ConsistencyLevel",
        "enum" : [ "ANY", "ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_ONE", "LOCAL_QUORUM", "EACH_QUORUM", "SERIAL", "LOCAL_SERIAL" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Write consistency level"
      },
      "readConsistencyLevel" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Read Consistency Level",
        "required" : false,
        "type" : "enum",
        "javaType" : "com.datastax.oss.driver.api.core.ConsistencyLevel",
        "enum" : [ "ANY", "ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_ONE", "LOCAL_QUORUM", "EACH_QUORUM", "SERIAL", "LOCAL_SERIAL" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Read consistency level"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "CronScheduledRoutePolicy",
    "javaType" : "org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy",
    "interfaceType" : "org.apache.camel.spi.RoutePolicy",
    "title" : "Cron Scheduled Route Policy",
    "description" : "A cron based RoutePolicy that can be used to start/stop routes at specific times.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-quartz",
    "version" : "4.14.2",
    "properties" : {
      "routeStartTime" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Route Start Time",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Cron expression for when the route should be started"
      },
      "routeStopTime" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Route Stop Time",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Cron expression for when the route should be stopped"
      },
      "routeSuspendTime" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Route Suspend Time",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Cron expression for when the route should be suspended"
      },
      "routeResumeTime" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Route Resume Time",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Cron expression for when the route should be resumed"
      },
      "timeZoneString" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Time Zone String",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "To use a specific timezone (ID such as CET)"
      },
      "routeStopGracePeriod" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Route Stop Grace Period",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 10000,
        "description" : "Timeout (in millis) when stopping routes."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "DefaultHeaderFilterStrategy",
    "javaType" : "org.apache.camel.support.DefaultHeaderFilterStrategy",
    "interfaceType" : "org.apache.camel.spi.HeaderFilterStrategy",
    "title" : "Default Header Filter Strategy",
    "description" : "The default header filtering strategy. Users can configure which headers is allowed or denied.",
    "deprecated" : true,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-support",
    "version" : "4.14.2",
    "properties" : {
      "inFilter" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "In Filter",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets the in direction filter set. The in direction is referred to copying headers from an external message to a Camel message. Multiple patterns can be separated by comma"
      },
      "outFilter" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Out Filter",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets the out direction filter set. The out direction is referred to copying headers from a Camel message to an external message. Multiple patterns can be separated by comma"
      },
      "lowerCase" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Lower Case",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : false,
        "description" : "Whether header names should be converted to lower case before checking it with the filter Set. It does not affect filtering using regular expression pattern."
      },
      "allowNullValues" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Allow Null Values",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : false,
        "description" : "Whether to allow null values. By default a header is skipped if its value is null. Setting this to true will preserve the header."
      },
      "caseInsensitive" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Case Insensitive",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Sets the caseInsensitive property which is a boolean to determine whether header names should be case insensitive when checking it with the filter set. It does not affect filtering using regular expression pattern."
      },
      "filterOnMatch" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Filter On Match",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Sets what to do when a pattern or filter set is matched. When set to true, a match will filter out the header. This is the default value for backwards compatibility. When set to false, the pattern or filter will indicate that the header must be kept; anything not matched will be filtered (skipped)."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "DurationRoutePolicy",
    "javaType" : "org.apache.camel.impl.engine.DurationRoutePolicy",
    "interfaceType" : "org.apache.camel.spi.RoutePolicy",
    "title" : "Duration Route Policy",
    "description" : "RoutePolicy which executes for a duration and then triggers an action. This can be used to stop the route after it has processed a number of messages, or has been running for N seconds.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-base-engine",
    "version" : "4.14.2",
    "properties" : {
      "maxSeconds" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Max Seconds",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Maximum seconds Camel is running before the action is triggered"
      },
      "maxMessages" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Max Messages",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Maximum number of messages to process before the action is triggered"
      },
      "action" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Action",
        "required" : false,
        "type" : "enum",
        "javaType" : "org.apache.camel.impl.engine.DurationRoutePolicy$Action",
        "enum" : [ "STOP_CAMEL_CONTEXT", "STOP_ROUTE", "SUSPEND_ROUTE", "SUSPEND_ALL_ROUTES" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "STOP_ROUTE",
        "description" : "Action to perform"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "DurationRoutePolicyFactory",
    "javaType" : "org.apache.camel.impl.engine.DurationRoutePolicyFactory",
    "interfaceType" : "org.apache.camel.spi.RoutePolicyFactory",
    "title" : "Duration Route Policy Factory",
    "description" : "RoutePolicyFactory which executes for a duration and then triggers an action. This can be used to stop a set of routes after they have processed a number of messages, or has been running for N seconds.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-base-engine",
    "version" : "4.14.2",
    "properties" : {
      "fromRouteId" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "From Route Id",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Route pattern to select a set of routes (by their route id). By default all routes are selected"
      },
      "maxSeconds" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Max Seconds",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Maximum seconds Camel is running before the action is triggered"
      },
      "maxMessages" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Max Messages",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Maximum number of messages to process before the action is triggered"
      },
      "action" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Action",
        "required" : false,
        "type" : "enum",
        "javaType" : "org.apache.camel.impl.engine.DurationRoutePolicy$Action",
        "enum" : [ "STOP_CAMEL_CONTEXT", "STOP_ROUTE", "SUSPEND_ROUTE", "SUSPEND_ALL_ROUTES" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "STOP_ROUTE",
        "description" : "Action to perform"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "EhcacheAggregationRepository",
    "javaType" : "org.apache.camel.component.ehcache.processor.aggregate.EhcacheAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "Ehcache Aggregation Repository",
    "description" : "Aggregation repository that uses Caffeine Cache to store exchanges.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-ehcache",
    "version" : "4.14.2",
    "properties" : {
      "cacheName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Cache Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of cache"
      },
      "allowSerializedHeaders" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Allow Serialized Headers",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether headers on the Exchange that are Java objects and Serializable should be included and saved to the repository"
      },
      "useRecovery" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Use Recovery",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether or not recovery is enabled"
      },
      "deadLetterUri" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Dead Letter Uri",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional dead letter channel which exhausted recovered Exchange should be send to."
      },
      "recoveryInterval" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Recovery Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 5000,
        "description" : "Sets the interval between recovery scans"
      },
      "maximumRedeliveries" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Maximum Redeliveries",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 3,
        "description" : "Sets an optional limit of the number of redelivery attempt of recovered Exchange should be attempted, before its exhausted. When this limit is hit, then the Exchange is moved to the dead letter channel."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "EhcacheIdempotentRepository",
    "javaType" : "org.apache.camel.component.ehcache.processor.idempotent.EhcacheIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Ehcache Idempotent Repository",
    "description" : "Idempotent repository that uses EHCache cache to store message ids.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-ehcache",
    "version" : "4.14.2",
    "properties" : {
      "cacheName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Cache Name",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "EhcacheIdempotentRepository",
        "description" : "Name of cache"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "ElasticsearchBulkRequestAggregationStrategy",
    "javaType" : "org.apache.camel.component.es.aggregation.ElasticsearchBulkRequestAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Elasticsearch Bulk Request Aggregation Strategy",
    "description" : "Aggregates two ElasticSearch BulkOperation into a single BulkRequest",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-elasticsearch",
    "version" : "4.14.2"
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "FileIdempotentRepository",
    "javaType" : "org.apache.camel.support.processor.idempotent.FileIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "File Idempotent Repository",
    "description" : "A file based idempotent repository. Comes with 1st-level in-memory cache for fast check of the most frequently used keys.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-support",
    "version" : "4.14.2",
    "properties" : {
      "cacheSize" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Cache Size",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 1000,
        "description" : "The maximum size of the 1st-level in-memory cache"
      },
      "fileStore" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "File Store",
        "required" : true,
        "type" : "string",
        "javaType" : "java.io.File",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "File name of the repository (incl directory)"
      },
      "maxFileStoreSize" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Max File Store Size",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 32768000,
        "description" : "The maximum file size for the file store in bytes. The default value is 32mb"
      },
      "dropOldestFileStore" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Drop Oldest File Store",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 1000,
        "description" : "Sets the number of oldest entries to drop from the file store when the maximum capacity is hit to reduce disk space to allow room for new entries."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "GroupedBodyAggregationStrategy",
    "javaType" : "org.apache.camel.processor.aggregate.GroupedBodyAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Grouped Body Aggregation Strategy",
    "description" : "Aggregate body of input Message into a single combined Exchange holding all the aggregated bodies in a List of type Object as the message body. This aggregation strategy can be used in combination with Splitter to batch messages.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-core-processor",
    "version" : "4.14.2"
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "GroupedExchangeAggregationStrategy",
    "javaType" : "org.apache.camel.processor.aggregate.GroupedExchangeAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Grouped Exchange Aggregation Strategy",
    "description" : "Aggregate all Exchanges into a single combined Exchange holding all the aggregated exchanges in a List of Exchange as the message body. This aggregation strategy can be used in combination with Splitter to batch messages.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-core-processor",
    "version" : "4.14.2"
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "GroupedMessageAggregationStrategy",
    "javaType" : "org.apache.camel.processor.aggregate.GroupedMessageAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Grouped Message Aggregation Strategy",
    "description" : "Aggregate all Message into a single combined Exchange holding all the aggregated messages in a List of Message as the message body. This aggregation strategy can be used in combination with Splitter to batch messages.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-core-processor",
    "version" : "4.14.2"
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "HazelcastAggregationRepository",
    "javaType" : "org.apache.camel.processor.aggregate.hazelcast.HazelcastAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "Hazelcast Aggregation Repository",
    "description" : "Aggregation repository that uses Hazelcast Cache to store exchanges.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-hazelcast",
    "version" : "4.14.2",
    "properties" : {
      "mapName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Map Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of cache to use"
      },
      "hazelcastInstance" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Hazelcast Instance",
        "required" : false,
        "type" : "object",
        "javaType" : "com.hazelcast.core.HazelcastInstance",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "To use an existing Hazelcast instance instead of local"
      },
      "persistenceMapName" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Persistence Map Name",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of cache to use for completed exchanges"
      },
      "optimistic" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Optimistic",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether to use optimistic locking"
      },
      "useRecovery" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Use Recovery",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether or not recovery is enabled"
      },
      "recoveryInterval" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Recovery Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 5000,
        "description" : "Sets the interval between recovery scans"
      },
      "deadLetterUri" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Dead Letter Uri",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional dead letter channel which exhausted recovered Exchange should be send to."
      },
      "maximumRedeliveries" : {
        "index" : 7,
        "kind" : "property",
        "displayName" : "Maximum Redeliveries",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 3,
        "description" : "Sets an optional limit of the number of redelivery attempt of recovered Exchange should be attempted, before its exhausted. When this limit is hit, then the Exchange is moved to the dead letter channel."
      },
      "allowSerializedHeaders" : {
        "index" : 8,
        "kind" : "property",
        "displayName" : "Allow Serialized Headers",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether headers on the Exchange that are Java objects and Serializable should be included and saved to the repository"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "HazelcastIdempotentRepository",
    "javaType" : "org.apache.camel.processor.idempotent.hazelcast.HazelcastIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Hazelcast Idempotent Repository",
    "description" : "Idempotent repository that uses Hazelcast cache to store message ids.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-hazelcast",
    "version" : "4.14.2",
    "properties" : {
      "repositoryName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Repository Name",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "HazelcastIdempotentRepository",
        "description" : "Name of cache to use"
      },
      "hazelcastInstance" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Hazelcast Instance",
        "required" : false,
        "type" : "object",
        "javaType" : "com.hazelcast.core.HazelcastInstance",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "To use an existing Hazelcast instance instead of local"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "InfinispanEmbeddedAggregationRepository",
    "javaType" : "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "Infinispan Embedded Aggregation Repository",
    "description" : "Aggregation repository that uses embedded Infinispan to store exchanges.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-infinispan-embedded",
    "version" : "4.14.2",
    "properties" : {
      "cacheName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Cache Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of cache"
      },
      "configuration" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Configuration",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Configuration for embedded Infinispan"
      },
      "useRecovery" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Use Recovery",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether or not recovery is enabled"
      },
      "deadLetterUri" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Dead Letter Uri",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional dead letter channel which exhausted recovered Exchange should be send to."
      },
      "recoveryInterval" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Recovery Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 5000,
        "description" : "Sets the interval between recovery scans"
      },
      "maximumRedeliveries" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Maximum Redeliveries",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 3,
        "description" : "Sets an optional limit of the number of redelivery attempt of recovered Exchange should be attempted, before its exhausted. When this limit is hit, then the Exchange is moved to the dead letter channel."
      },
      "allowSerializedHeaders" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Allow Serialized Headers",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether headers on the Exchange that are Java objects and Serializable should be included and saved to the repository"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "InfinispanEmbeddedIdempotentRepository",
    "javaType" : "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Infinispan Embedded Idempotent Repository",
    "description" : "Idempotent repository that uses embedded Infinispan to store message ids.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-infinispan-embedded",
    "version" : "4.14.2",
    "properties" : {
      "cacheName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Cache Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of cache"
      },
      "configuration" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Configuration",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedConfiguration",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Configuration for embedded Infinispan"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "InfinispanRemoteAggregationRepository",
    "javaType" : "org.apache.camel.component.infinispan.remote.InfinispanRemoteAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "Infinispan Remote Aggregation Repository",
    "description" : "Aggregation repository that uses remote Infinispan to store exchanges.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-infinispan",
    "version" : "4.14.2",
    "properties" : {
      "cacheName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Cache Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of cache"
      },
      "configuration" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Configuration",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Configuration for remote Infinispan"
      },
      "useRecovery" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Use Recovery",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether or not recovery is enabled"
      },
      "deadLetterUri" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Dead Letter Uri",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional dead letter channel which exhausted recovered Exchange should be send to."
      },
      "recoveryInterval" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Recovery Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 5000,
        "description" : "Sets the interval between recovery scans"
      },
      "maximumRedeliveries" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Maximum Redeliveries",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 3,
        "description" : "Sets an optional limit of the number of redelivery attempt of recovered Exchange should be attempted, before its exhausted. When this limit is hit, then the Exchange is moved to the dead letter channel."
      },
      "allowSerializedHeaders" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Allow Serialized Headers",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether headers on the Exchange that are Java objects and Serializable should be included and saved to the repository"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "InfinispanRemoteIdempotentRepository",
    "javaType" : "org.apache.camel.component.infinispan.remote.InfinispanRemoteIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Infinispan Remote Idempotent Repository",
    "description" : "Idempotent repository that uses remote Infinispan to store message ids.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-infinispan",
    "version" : "4.14.2",
    "properties" : {
      "cacheName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Cache Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of cache"
      },
      "configuration" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Configuration",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Configuration for remote Infinispan"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "JCacheAggregationRepository",
    "javaType" : "org.apache.camel.component.jcache.processor.aggregate.JCacheAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "JCache Aggregation Repository",
    "description" : "Aggregation repository that uses JCache to store exchanges.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-jcache",
    "version" : "4.14.2",
    "properties" : {
      "configuration" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Configuration",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.component.jcache.JCacheConfiguration",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Configuration for JCache"
      },
      "optimistic" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Optimistic",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether optimistic locking is in use"
      },
      "allowSerializedHeaders" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Allow Serialized Headers",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether headers on the Exchange that are Java objects and Serializable should be included and saved to the repository"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "JCacheIdempotentRepository",
    "javaType" : "org.apache.camel.component.jcache.processor.idempotent.JCacheIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "JCache Idempotent Repository",
    "description" : "Idempotent repository that uses JCache to store message ids.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-jcache",
    "version" : "4.14.2",
    "properties" : {
      "configuration" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Configuration",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.component.jcache.JCacheConfiguration",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Configuration for JCache"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "JdbcAggregationRepository",
    "javaType" : "org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "Jdbc Aggregation Repository",
    "description" : "Aggregation repository that uses SQL database to store exchanges.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-sql",
    "version" : "4.14.2",
    "properties" : {
      "dataSource" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Data Source",
        "required" : true,
        "type" : "object",
        "javaType" : "javax.sql.DataSource",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The DataSource to use for connecting to the database"
      },
      "transactionManager" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Transaction Manager",
        "required" : true,
        "type" : "object",
        "javaType" : "org.springframework.transaction.PlatformTransactionManager",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The Spring TransactionManager to use for connecting to the database"
      },
      "repositoryName" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Repository Name",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The name of the repository."
      },
      "headersToStoreAsText" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Headers To Store As Text",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Allows to store headers as String which is human readable. By default this option is disabled, storing the headers in binary format. Multiple header names can be separated by comma."
      },
      "storeBodyAsText" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Store Body As Text",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether to store the message body as String which is human readable. By default this option is false storing the body in binary format."
      },
      "useRecovery" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Use Recovery",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether or not recovery is enabled"
      },
      "recoveryInterval" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Recovery Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 5000,
        "description" : "Sets the interval between recovery scans"
      },
      "maximumRedeliveries" : {
        "index" : 7,
        "kind" : "property",
        "displayName" : "Maximum Redeliveries",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional limit of the number of redelivery attempt of recovered Exchange should be attempted, before its exhausted. When this limit is hit, then the Exchange is moved to the dead letter channel."
      },
      "deadLetterUri" : {
        "index" : 8,
        "kind" : "property",
        "displayName" : "Dead Letter Uri",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional dead letter channel which exhausted recovered Exchange should be send to."
      },
      "allowSerializedHeaders" : {
        "index" : 9,
        "kind" : "property",
        "displayName" : "Allow Serialized Headers",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether headers on the Exchange that are Java objects and Serializable should be included and saved to the repository"
      },
      "deserializationFilter" : {
        "index" : 10,
        "kind" : "property",
        "displayName" : "Deserialization Filter",
        "label" : "security",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "java.**;org.apache.camel.**;!*",
        "description" : "Sets a deserialization filter while reading Object from Aggregation Repository. By default the filter will allow all java packages and subpackages and all org.apache.camel packages and subpackages, while the remaining will be blacklisted and not deserialized. This parameter should be customized if you're using classes you trust to be deserialized."
      },
      "jdbcOptimisticLockingExceptionMapper" : {
        "index" : 11,
        "kind" : "property",
        "displayName" : "Jdbc Optimistic Locking Exception Mapper",
        "label" : "advanced",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.processor.aggregate.jdbc.JdbcOptimisticLockingExceptionMapper",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Mapper allowing different JDBC vendors to be mapped with vendor specific error codes to an OptimisticLockingException"
      },
      "lobHandler" : {
        "index" : 12,
        "kind" : "property",
        "displayName" : "Lob Handler",
        "label" : "advanced",
        "required" : false,
        "type" : "object",
        "javaType" : "org.springframework.jdbc.support.lob.LobHandler",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "To use a custom LobHandler"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "JdbcMessageIdRepository",
    "javaType" : "org.apache.camel.processor.idempotent.jdbc.JdbcMessageIdRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Jdbc Message Id Repository",
    "description" : "Idempotent repository that uses a SQL database to store message ids.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-sql",
    "version" : "4.14.2",
    "properties" : {
      "tableName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Table Name",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "CAMEL_MESSAGEPROCESSED",
        "description" : "The name of the table to use in the database"
      },
      "createTableIfNotExists" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Create Table If Not Exists",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether to create the table in the database if none exists on startup"
      },
      "tableExistsString" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Table Exists String",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "SQL query to use for checking if table exists"
      },
      "createString" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Create String",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "SQL query to use for creating table"
      },
      "queryString" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Query String",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "SQL query to use for check if message id already exists"
      },
      "insertString" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Insert String",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "SQL query to use for inserting a new message id in the table"
      },
      "deleteString" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Delete String",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "SQL query to use for deleting message id from the table"
      },
      "clearString" : {
        "index" : 7,
        "kind" : "property",
        "displayName" : "Clear String",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "SQL query to delete all message ids from the table"
      },
      "processorName" : {
        "index" : 8,
        "kind" : "property",
        "displayName" : "Processor Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The name of the processor that are used for this repository. Use unique names to separate processors in the same database."
      },
      "jdbcTemplate" : {
        "index" : 9,
        "kind" : "property",
        "displayName" : "Jdbc Template",
        "required" : true,
        "type" : "object",
        "javaType" : "org.springframework.jdbc.core.JdbcTemplate",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The Spring JdbcTemplate to use for connecting to the database"
      },
      "transactionTemplate" : {
        "index" : 10,
        "kind" : "property",
        "displayName" : "Transaction Template",
        "required" : true,
        "type" : "object",
        "javaType" : "org.springframework.transaction.support.TransactionTemplate",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The Spring TransactionTemplate to use for connecting to the database"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "KafkaIdempotentRepository",
    "javaType" : "org.apache.camel.processor.idempotent.kafka.KafkaIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Kafka Idempotent Repository",
    "description" : "Idempotent repository that uses Kafka to store message ids. Uses a local cache of previously seen Message IDs. The topic used must be unique per logical repository (i.e. two routes de-duplicate using different repositories, and different topics) On startup, the instance consumes the full content of the topic, rebuilding the cache to the latest state.",
    "deprecated" : true,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-kafka",
    "version" : "4.14.2",
    "properties" : {
      "topic" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Topic",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets the name of the Kafka topic used by this idempotent repository. Each functionally-separate repository should use a different topic."
      },
      "bootstrapServers" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Bootstrap Servers",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The URL for the kafka brokers to use"
      },
      "groupId" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Group Id",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "A string that uniquely identifies the group of consumer processes to which this consumer belongs. By setting the same group id, multiple processes can indicate that they are all part of the same consumer group."
      },
      "maxCacheSize" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Max Cache Size",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 1000,
        "description" : "Sets the maximum size of the local key cache."
      },
      "pollDurationMs" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Poll Duration Ms",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 100,
        "description" : "Sets the poll duration of the Kafka consumer. The local caches are updated immediately; this value will affect how far behind other peers in the cluster are, which are updating their caches from the topic, relative to the idempotent consumer instance issued the cache action message. The default value of this is 100 If setting this value explicitly, be aware that there is a tradeoff between the remote cache liveness and the volume of network traffic between this repository's consumer and the Kafka brokers. The cache warmup process also depends on there being one poll that fetches nothing - this indicates that the stream has been consumed up to the current point. If the poll duration is excessively long for the rate at which messages are sent on the topic, there exists a possibility that the cache cannot be warmed up and will operate in an inconsistent state relative to its peers until it catches up."
      },
      "startupOnly" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Startup Only",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether to sync on startup only, or to continue syncing while Camel is running."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "LevelDBAggregationRepository",
    "javaType" : "org.apache.camel.component.leveldb.LevelDBAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "Level DBAggregation Repository",
    "description" : "Aggregation repository that uses LevelDB to store exchanges.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-leveldb",
    "version" : "4.14.2",
    "properties" : {
      "persistentFileName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Persistent File Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of file to use for storing data"
      },
      "repositoryName" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Repository Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of repository"
      },
      "sync" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Sync",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether LevelDB should sync writes"
      },
      "returnOldExchange" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Return Old Exchange",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether to return the old exchange when adding new exchanges to the repository"
      },
      "useRecovery" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Use Recovery",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether or not recovery is enabled"
      },
      "recoveryInterval" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Recovery Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 5000,
        "description" : "Sets the interval between recovery scans"
      },
      "maximumRedeliveries" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Maximum Redeliveries",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional limit of the number of redelivery attempt of recovered Exchange should be attempted, before its exhausted. When this limit is hit, then the Exchange is moved to the dead letter channel."
      },
      "deadLetterUri" : {
        "index" : 7,
        "kind" : "property",
        "displayName" : "Dead Letter Uri",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets an optional dead letter channel which exhausted recovered Exchange should be send to."
      },
      "allowSerializedHeaders" : {
        "index" : 8,
        "kind" : "property",
        "displayName" : "Allow Serialized Headers",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether headers on the Exchange that are Java objects and Serializable should be included and saved to the repository"
      },
      "serializer" : {
        "index" : 9,
        "kind" : "property",
        "displayName" : "Serializer",
        "label" : "advanced",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.component.leveldb.LevelDBSerializer",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "To use a custom serializer for LevelDB"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "LoggingHttpActivityListener",
    "javaType" : "org.apache.camel.component.http.LoggingHttpActivityListener",
    "interfaceType" : "org.apache.camel.component.http.HttpActivityListener",
    "title" : "Logging Http Activity Listener",
    "description" : "Logs HTTP requests and responses for the camel-http component.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-http",
    "version" : "4.14.2",
    "properties" : {
      "loggingLevel" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Logging Level",
        "required" : false,
        "type" : "enum",
        "javaType" : "java.lang.String",
        "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "INFO",
        "description" : ""
      },
      "showRouteId" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Show Route Id",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Show route ID"
      },
      "showRouteGroup" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Show Route Group",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Show route Group"
      },
      "showExchangeId" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Show Exchange Id",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Show the unique exchange ID"
      },
      "showBody" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Show Body",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Show the HTTP body"
      },
      "showHeaders" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Show Headers",
        "label" : "formatting",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Show the HTTP headers"
      },
      "showStreams" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Show Streams",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "Whether to show HTTP body that are streaming based. Beware that Camel will have to read the content into memory to print to log, and will re-create the HttpEntity stored on the request/response object. If you have large payloads then this can impact performance."
      },
      "showBinary" : {
        "index" : 7,
        "kind" : "property",
        "displayName" : "Show Binary",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : false,
        "description" : "Whether to show HTTP body that are binary based (uses content-type to determine whether binary)"
      },
      "maxChars" : {
        "index" : 8,
        "kind" : "property",
        "displayName" : "Max Chars",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 50000,
        "description" : "Limits the number of characters logged from the HTTP body"
      },
      "logMask" : {
        "index" : 9,
        "kind" : "property",
        "displayName" : "Log Mask",
        "required" : false,
        "type" : "boolean",
        "javaType" : "java.lang.Boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "If true, mask sensitive information like password or passphrase in the log"
      },
      "multiline" : {
        "index" : 10,
        "kind" : "property",
        "displayName" : "Multiline",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "If enabled then each information is outputted as separate LOG events"
      },
      "sourceLocationLoggerName" : {
        "index" : 11,
        "kind" : "property",
        "displayName" : "Source Location Logger Name",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : true,
        "description" : "If enabled then the source location of where the log endpoint is used in Camel routes, would be used as logger name, instead of the given name. However, if the source location is disabled or not possible to resolve then the existing logger name will be used."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "MemoryAggregationRepository",
    "javaType" : "org.apache.camel.processor.aggregate.MemoryAggregationRepository",
    "interfaceType" : "org.apache.camel.spi.AggregationRepository",
    "title" : "Memory Aggregation Repository",
    "description" : "A memory based AggregationRepository which stores Exchange in memory only.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-core-processor",
    "version" : "4.14.2",
    "properties" : {
      "optimisticLocking" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Optimistic Locking",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether to use optimistic locking"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "MemoryIdempotentRepository",
    "javaType" : "org.apache.camel.support.processor.idempotent.MemoryIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Memory Idempotent Repository",
    "description" : "A memory based IdempotentRepository.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-support",
    "version" : "4.14.2",
    "properties" : {
      "cacheSize" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Cache Size",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 1000,
        "description" : "Maximum elements that can be stored in-memory"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "MongoDbIdempotentRepository",
    "javaType" : "org.apache.camel.component.mongodb.processor.idempotent.MongoDbIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Mongo Db Idempotent Repository",
    "description" : "Idempotent repository that uses MongoDB to store message ids.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-mongodb",
    "version" : "4.14.2",
    "properties" : {
      "mongoClient" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Mongo Client",
        "required" : true,
        "type" : "object",
        "javaType" : "com.mongodb.client.MongoClient",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The MongoClient to use for connecting to the MongoDB server"
      },
      "dbName" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Db Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The Database name"
      },
      "collectionName" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Collection Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The collection name"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "OpensearchBulkRequestAggregationStrategy",
    "javaType" : "org.apache.camel.component.opensearch.aggregation.OpensearchBulkRequestAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Opensearch Bulk Request Aggregation Strategy",
    "description" : "Aggregates two OpenSearch BulkOperation into a single BulkRequest",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-opensearch",
    "version" : "4.14.2"
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "SimpleScheduledRoutePolicy",
    "javaType" : "org.apache.camel.routepolicy.quartz.SimpleScheduledRoutePolicy",
    "interfaceType" : "org.apache.camel.spi.RoutePolicy",
    "title" : "Simple Scheduled Route Policy",
    "description" : "A basic RoutePolicy that can be used to start/stop routes using fixed intervals.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-quartz",
    "version" : "4.14.2",
    "properties" : {
      "routeStartRepeatCount" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Route Start Repeat Count",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Maximum number of times the route should be started"
      },
      "routeStartRepeatInterval" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Route Start Repeat Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Interval (in millis) how often the route should be started"
      },
      "routeStopRepeatCount" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Route Stop Repeat Count",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Maximum number of times the route should be stopped"
      },
      "routeStopRepeatInterval" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Route Stop Repeat Interval",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Interval (in millis) how often the route should be stopped"
      },
      "routeSuspendRepeatCount" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Route Suspend Repeat Count",
        "label" : "advanced",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Maximum number of times the route should be suspended"
      },
      "routeSuspendRepeatInterval" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Route Suspend Repeat Interval",
        "label" : "advanced",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Interval (in millis) how often the route should be suspended"
      },
      "routeResumeRepeatCount" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Route Resume Repeat Count",
        "label" : "advanced",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Maximum number of times the route should be resumed"
      },
      "routeResumeRepeatInterval" : {
        "index" : 7,
        "kind" : "property",
        "displayName" : "Route Resume Repeat Interval",
        "label" : "advanced",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Interval (in millis) how often the route should be resumed"
      },
      "routeStopGracePeriod" : {
        "index" : 8,
        "kind" : "property",
        "displayName" : "Route Stop Grace Period",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 10000,
        "description" : "Timeout (in millis) when stopping routes."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "SpringRedisIdempotentRepository",
    "javaType" : "org.apache.camel.component.redis.processor.idempotent.SpringRedisIdempotentRepository",
    "interfaceType" : "org.apache.camel.spi.IdempotentRepository",
    "title" : "Spring Redis Idempotent Repository",
    "description" : "Idempotent repository that uses Redis to store message ids.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-spring-redis",
    "version" : "4.14.2",
    "properties" : {
      "repositoryName" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Repository Name",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Name of repository"
      },
      "redisConfiguration" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Redis Configuration",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.component.redis.RedisConfiguration",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Redis configuration"
      },
      "flushOnStartup" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Flush On Startup",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Delete all keys of the currently selected database. Be careful if enabling this as all existing data will be deleted."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "StringAggregationStrategy",
    "javaType" : "org.apache.camel.processor.aggregate.StringAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "String Aggregation Strategy",
    "description" : "Aggregate result of pick expression into a single combined Exchange holding all the aggregated bodies in a String as the message body. This aggregation strategy can used in combination with Splitter to batch messages",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-core-processor",
    "version" : "4.14.2",
    "properties" : {
      "delimiter" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Delimiter",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Delimiter used for joining strings together."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "TarAggregationStrategy",
    "javaType" : "org.apache.camel.processor.aggregate.tarfile.TarAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Tar Aggregation Strategy",
    "description" : "AggregationStrategy to combine together incoming messages into a tar file. Please note that this aggregation strategy requires eager completion check to work properly.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-tarfile",
    "version" : "4.14.2",
    "properties" : {
      "filePrefix" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "File Prefix",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets the prefix that will be used when creating the TAR filename."
      },
      "fileSuffix" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "File Suffix",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "tar",
        "description" : "Sets the suffix that will be used when creating the TAR filename."
      },
      "preserveFolderStructure" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Preserve Folder Structure",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "If the incoming message is from a file, then the folder structure of said file can be preserved"
      },
      "useFilenameHeader" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Use Filename Header",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether to use CamelFileName header for the filename instead of using unique message id"
      },
      "parentDir" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Parent Dir",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.io.File",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets the parent directory to use for writing temporary files"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "ThrottlingExceptionRoutePolicy",
    "javaType" : "org.apache.camel.throttling.ThrottlingExceptionRoutePolicy",
    "interfaceType" : "org.apache.camel.spi.RoutePolicy",
    "title" : "Throttling Exception Route Policy",
    "description" : "A throttle based RoutePolicy which is modelled after the circuit breaker and will stop consuming from an endpoint based on the type of exceptions that are thrown and the threshold settings.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-support",
    "version" : "4.14.2",
    "properties" : {
      "failureThreshold" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Failure Threshold",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 50,
        "description" : "How many failed messages within the window would trigger the circuit breaker to open"
      },
      "failureWindow" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Failure Window",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 60000,
        "description" : "Sliding window for how long time to go back (in millis) when counting number of failures"
      },
      "halfOpenAfter" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Half Open After",
        "required" : false,
        "type" : "integer",
        "javaType" : "long",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 30000,
        "description" : "Interval (in millis) for how often to check whether a currently open circuit breaker may work again"
      },
      "keepOpen" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Keep Open",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether to always keep the circuit breaker open (never closes). This is only intended for development and testing purposes."
      },
      "exceptions" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Exceptions",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Allows to only throttle based on certain types of exceptions. Multiple exceptions (use FQN class name) can be separated by comma."
      },
      "stateLoggingLevel" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "State Logging Level",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.LoggingLevel",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "DEBUG",
        "description" : "Logging level for state changes"
      },
      "halfOpenHandler" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Half Open Handler",
        "label" : "advanced",
        "required" : false,
        "type" : "object",
        "javaType" : "org.apache.camel.throttling.ThrottlingExceptionHalfOpenHandler",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Custom check to perform whether the circuit breaker can move to half-open state. If set then this is used instead of resuming the route."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "ThrottlingInflightRoutePolicy",
    "javaType" : "org.apache.camel.throttling.ThrottlingInflightRoutePolicy",
    "interfaceType" : "org.apache.camel.spi.RoutePolicy",
    "title" : "Throttling Inflight Route Policy",
    "description" : "A throttle based RoutePolicy which is capable of dynamic throttling a route based on number of current inflight exchanges.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-support",
    "version" : "4.14.2",
    "properties" : {
      "scope" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Scope",
        "required" : false,
        "type" : "enum",
        "javaType" : "org.apache.camel.throttling.ThrottlingInflightRoutePolicy$ThrottlingScope",
        "enum" : [ "Context", "Route" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "Route",
        "description" : "Sets which scope the throttling should be based upon, either route or total scoped."
      },
      "maxInflightExchanges" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Max Inflight Exchanges",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 1000,
        "description" : "Sets the upper limit of number of concurrent inflight exchanges at which point reached the throttler should suspend the route."
      },
      "resumePercentOfMax" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Resume Percent Of Max",
        "required" : false,
        "type" : "integer",
        "javaType" : "int",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : 70,
        "description" : "Sets at which percentage of the max the throttler should start resuming the route."
      },
      "loggingLevel" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Logging Level",
        "required" : false,
        "type" : "enum",
        "javaType" : "org.apache.camel.LoggingLevel",
        "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "INFO",
        "description" : "Sets the logging level to report the throttling activity."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "UseLatestAggregationStrategy",
    "javaType" : "org.apache.camel.processor.aggregate.UseLatestAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Use Latest Aggregation Strategy",
    "description" : "An AggregationStrategy which just uses the latest exchange which is useful for status messages where old status messages have no real value. Another example is things like market data prices, where old stock prices are not that relevant, only the current price is.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-core-processor",
    "version" : "4.14.2"
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "UseOriginalAggregationStrategy",
    "javaType" : "org.apache.camel.processor.aggregate.UseOriginalAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Use Original Aggregation Strategy",
    "description" : "An AggregationStrategy which just uses the original exchange which can be needed when you want to preserve the original Exchange. For example when splitting an Exchange and then you may want to keep routing using the original Exchange.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-core-processor",
    "version" : "4.14.2"
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "XsltAggregationStrategy",
    "javaType" : "org.apache.camel.component.xslt.XsltAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Xslt Aggregation Strategy",
    "description" : "The XSLT Aggregation Strategy enables you to use XSL stylesheets to aggregate messages.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-xslt",
    "version" : "4.14.2",
    "properties" : {
      "xslFile" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Xsl File",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The name of the XSL transformation file to use"
      },
      "propertyName" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Property Name",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "new-exchange",
        "description" : "The exchange property name that contains the XML payloads as an input"
      },
      "transformerFactoryClass" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Transformer Factory Class",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "To use a custom XSLT transformer factory, specified as a FQN class name"
      },
      "output" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Output",
        "required" : false,
        "type" : "enum",
        "javaType" : "org.apache.camel.component.xslt.XsltOutput",
        "enum" : [ "string", "bytes", "DOM", "file" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "string",
        "description" : "Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key XsltConstants.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime."
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "XsltSaxonAggregationStrategy",
    "javaType" : "org.apache.camel.component.xslt.saxon.XsltSaxonAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Xslt Saxon Aggregation Strategy",
    "description" : "The XSLT Aggregation Strategy enables you to use XSL stylesheets to aggregate messages (uses Saxon).",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-xslt-saxon",
    "version" : "4.14.2",
    "properties" : {
      "xslFile" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "Xsl File",
        "required" : true,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "The name of the XSL transformation file to use"
      },
      "propertyName" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "Property Name",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "new-exchange",
        "description" : "The exchange property name that contains the XML payloads as an input"
      },
      "output" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Output",
        "required" : false,
        "type" : "enum",
        "javaType" : "org.apache.camel.component.xslt.XsltOutput",
        "enum" : [ "string", "bytes", "DOM", "file" ],
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "string",
        "description" : "Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key XsltConstants.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime."
      },
      "transformerFactoryClass" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Transformer Factory Class",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "To use a custom XSLT transformer factory, specified as a FQN class name"
      }
    }
  }
}
,
{
  "bean" : {
    "kind" : "bean",
    "name" : "ZipAggregationStrategy",
    "javaType" : "org.apache.camel.processor.aggregate.zipfile.ZipAggregationStrategy",
    "interfaceType" : "org.apache.camel.AggregationStrategy",
    "title" : "Zip Aggregation Strategy",
    "description" : "AggregationStrategy to zip together incoming messages into a zip file. Please note that this aggregation strategy requires eager completion check to work properly.",
    "deprecated" : false,
    "groupId" : "org.apache.camel",
    "artifactId" : "camel-zipfile",
    "version" : "4.14.2",
    "properties" : {
      "filePrefix" : {
        "index" : 0,
        "kind" : "property",
        "displayName" : "File Prefix",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets the prefix that will be used when creating the ZIP filename."
      },
      "fileSuffix" : {
        "index" : 1,
        "kind" : "property",
        "displayName" : "File Suffix",
        "required" : false,
        "type" : "string",
        "javaType" : "java.lang.String",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : "zip",
        "description" : "Sets the suffix that will be used when creating the ZIP filename."
      },
      "allowEmptyFiles" : {
        "index" : 2,
        "kind" : "property",
        "displayName" : "Allow Empty Files",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "defaultValue" : false,
        "description" : "Whether to add empty files to the ZIP."
      },
      "preserveFolderStructure" : {
        "index" : 3,
        "kind" : "property",
        "displayName" : "Preserve Folder Structure",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "If the incoming message is from a file, then the folder structure of said file can be preserved"
      },
      "useFilenameHeader" : {
        "index" : 4,
        "kind" : "property",
        "displayName" : "Use Filename Header",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether to use CamelFileName header for the filename instead of using unique message id"
      },
      "useTempFile" : {
        "index" : 5,
        "kind" : "property",
        "displayName" : "Use Temp File",
        "label" : "advanced",
        "required" : false,
        "type" : "boolean",
        "javaType" : "boolean",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Whether to use temporary files for zip manipulations instead of memory."
      },
      "parentDir" : {
        "index" : 6,
        "kind" : "property",
        "displayName" : "Parent Dir",
        "label" : "advanced",
        "required" : false,
        "type" : "string",
        "javaType" : "java.io.File",
        "deprecated" : false,
        "autowired" : false,
        "secret" : false,
        "description" : "Sets the parent directory to use for writing temporary files"
      }
    }
  }
}
]