{
  "component": {
    "kind": "component",
    "name": "mybatis-bean",
    "title": "MyBatis Bean",
    "description": "Perform queries, inserts, updates or deletes in a relational database using MyBatis.",
    "deprecated": false,
    "firstVersion": "2.22.0",
    "label": "database",
    "javaType": "org.apache.camel.component.mybatis.MyBatisBeanComponent",
    "supportLevel": "Stable",
    "groupId": "org.apache.camel",
    "artifactId": "camel-mybatis",
    "version": "4.0.5",
    "scheme": "mybatis-bean",
    "extendsScheme": "",
    "syntax": "mybatis-bean:beanName:methodName",
    "async": false,
    "api": false,
    "consumerOnly": false,
    "producerOnly": true,
    "lenientProperties": false
  },
  "componentProperties": {
    "configurationUri": { "index": 0, "kind": "property", "displayName": "Configuration Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SqlMapConfig.xml", "supportFileReference": true, "description": "Location of MyBatis xml configuration file. The default value is: SqlMapConfig.xml loaded from the classpath" },
    "lazyStartProducer": { "index": 1, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    "autowiredEnabled": { "index": 2, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    "sqlSessionFactory": { "index": 3, "kind": "property", "displayName": "Sql Session Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.ibatis.session.SqlSessionFactory", "deprecated": false, "autowired": true, "secret": false, "description": "To use the SqlSessionFactory" },
    "healthCheckConsumerEnabled": { "index": 4, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
    "healthCheckProducerEnabled": { "index": 5, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on producer checks globally by setting camel.health.producersEnabled=true." }
  },
  "headers": {
    "CamelMyBatisResult": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Object", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response returned from MtBatis in any of the operations. For instance an INSERT could return the auto-generated key, or number of rows etc.", "constantName": "org.apache.camel.component.mybatis.MyBatisConstants#MYBATIS_RESULT" }
  },
  "properties": {
    "beanName": { "index": 0, "kind": "path", "displayName": "Bean Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of the bean with the MyBatis annotations. This can either by a type alias or a FQN class name." },
    "methodName": { "index": 1, "kind": "path", "displayName": "Method Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of the method on the bean that has the SQL query to be executed." },
    "executorType": { "index": 2, "kind": "parameter", "displayName": "Executor Type", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.ibatis.session.ExecutorType", "enum": [ "SIMPLE", "REUSE", "BATCH" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SIMPLE", "description": "The executor type to be used while executing statements. simple - executor does nothing special. reuse - executor reuses prepared statements. batch - executor reuses statements and batches updates." },
    "inputHeader": { "index": 3, "kind": "parameter", "displayName": "Input Header", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "User the header value for input parameters instead of the message body. By default, inputHeader == null and the input parameters are taken from the message body. If outputHeader is set, the value is used and query parameters will be taken from the header instead of the body." },
    "outputHeader": { "index": 4, "kind": "parameter", "displayName": "Output Header", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. Setting outputHeader will also omit populating the default CamelMyBatisResult header since it would be the same as outputHeader all the time." },
    "lazyStartProducer": { "index": 5, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." }
  }
}
