{
  "name": "JMS",
  "description": "JmsConnector is a JMS 1.0.2b, 1.1 and 2.0 compliant MuleSoft Extension, used to consume and produce JMS Messages. The Extension supports all JMS functionality including topics and queues, durable subscribers, acknowledgement modes and local transactions.",
  "version": "1.7.2",
  "vendor": "Mulesoft",
  "category": "COMMUNITY",
  "xmlDsl": {
    "prefix": "jms",
    "namespace": "http://www.mulesoft.org/schema/mule/jms",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd",
    "schemaVersion": "1.7.2",
    "xsdFileName": "mule-jms.xsd"
  },
  "resources": [],
  "subTypes": [
    {
      "baseType": {
        "format": "java",
        "type": "@ref:org.mule.extensions.jms.api.destination.ConsumerType"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:org.mule.extensions.jms.api.destination.QueueConsumer"
        },
        {
          "format": "java",
          "type": "@ref:org.mule.extensions.jms.api.destination.TopicConsumer"
        }
      ]
    },
    {
      "baseType": {
        "format": "java",
        "type": "@ref:org.mule.extensions.jms.api.connection.caching.CachingStrategy"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:org.mule.extensions.jms.api.connection.caching.DefaultCachingStrategy"
        },
        {
          "format": "java",
          "type": "@ref:org.mule.extensions.jms.api.connection.caching.NoCachingConfiguration"
        }
      ]
    },
    {
      "baseType": {
        "format": "java",
        "type": "Object",
        "annotations": {
          "typeId": "javax.jms.ConnectionFactory",
          "classInformation": {
            "classname": "javax.jms.ConnectionFactory",
            "hasDefaultConstructor": false,
            "isInterface": true,
            "isInstantiable": false,
            "isAbstract": true,
            "isFinal": false,
            "implementedInterfaces": [],
            "parent": "",
            "genericTypes": [],
            "isMap": false
          },
          "typeAlias": {
            "value": "ConnectionFactory"
          }
        },
        "fields": []
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:org.mule.extensions.jms.api.connection.factory.jndi.JndiConnectionFactory"
        }
      ]
    },
    {
      "baseType": {
        "format": "java",
        "type": "@ref:org.mule.extensions.jms.api.connection.factory.jndi.JndiNameResolver"
      },
      "subTypes": [
        {
          "format": "java",
          "type": "@ref:org.mule.extensions.jms.api.connection.factory.jndi.SimpleJndiNameResolver"
        },
        {
          "format": "java",
          "type": "@ref:org.mule.extensions.jms.api.connection.factory.jndi.CachedJndiNameResolver"
        }
      ]
    }
  ],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.runtime.api.store.ObjectStore",
        "extensibleType": {},
        "typeAlias": {
          "value": "ObjectStore"
        },
        "classInformation": {
          "classname": "org.mule.runtime.api.store.ObjectStore",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        }
      },
      "fields": []
    }
  ],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "JMS",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "encoding",
              "description": "The default encoding of the Message body to be used if the message doesn\u0027t communicate it",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "*/*",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "name": "contentType",
              "description": "The default contentType of the Message body to be used if the message doesn\u0027t communicate it",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "org.mule.runtime.extension.api.runtime.parameter.OutboundCorrelationStrategy",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "AUTO",
                      "ALWAYS",
                      "NEVER"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "AUTO",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "name": "sendCorrelationId",
              "description": "Whether to specify a correlationId when publishing messages. This applies both for custom correlation ids specifies at the operation level and for default correlation Ids taken from the current event",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.extension.api.runtime.ExpirationPolicy",
                  "description": {
                    "value": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit."
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "maxIdleTime"
                    },
                    "model": {
                      "type": "Number",
                      "annotations": {
                        "int": {},
                        "classInformation": {
                          "classname": "java.lang.Long",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Comparable"
                          ],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "default": "5"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it\u0027s considered eligible for expiration"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "timeUnit"
                    },
                    "model": {
                      "type": "String",
                      "annotations": {
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "NANOSECONDS",
                            "MICROSECONDS",
                            "MILLISECONDS",
                            "SECONDS",
                            "MINUTES",
                            "HOURS",
                            "DAYS"
                          ]
                        },
                        "default": "MINUTES"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A time unit that qualifies the maxIdleTime attribute"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "expirationPolicy",
              "description": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "expiration-policy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 4
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "org.mule.extensions.jms.api.ack.AckMode",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "IMMEDIATE",
                      "AUTO",
                      "MANUAL",
                      "DUPS_OK"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "AUTO",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "allowedStereotypeModels": [],
              "name": "ackMode",
              "displayModel": {
                "summary": "The Session ACK mode to use when consuming a message"
              },
              "description": "The ConsumerAckMode to use when consuming a Message Can be overridden at the message source level. This attribute has to be IMMEDIATE if transactionType is LOCAL or MULTI",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "@ref:org.mule.extensions.jms.api.destination.ConsumerType"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6
              },
              "allowedStereotypeModels": [],
              "name": "consumerType",
              "description": "The ConsumerType to be used by default when consuming a Message Can be overridden at the message source level.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.DefaultImplementingTypeModelProperty": {
                  "defaultType": {
                    "format": "java",
                    "type": "@ref:org.mule.extensions.jms.api.destination.QueueConsumer"
                  }
                }
              }
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7
              },
              "allowedStereotypeModels": [],
              "name": "selector",
              "displayModel": {
                "summary": "Default JMS selector to be used for filtering incoming messages"
              },
              "description": "Default selector to be used for filtering when consuming a Message Can be overridden at the message source level.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "0",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 8
              },
              "allowedStereotypeModels": [],
              "name": "maxRedelivery",
              "description": "Used to configure the number of redelivers before discarding the message. No redelivery is represented with 0, while -1 means infinite re deliveries accepted.",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 2,
            "tabName": "Consumer"
          },
          "showInDsl": true,
          "name": "Consumer Config",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 9
              },
              "allowedStereotypeModels": [],
              "name": "persistentDelivery",
              "displayModel": {
                "summary": "If true, the Message will be sent using the PERSISTENT JMSDeliveryMode"
              },
              "description": "Sets the default value for the Message#getJMSDeliveryMode. If true, the DeliveryMode#PERSISTENT mode will be used, which instructs the JMS provider to take extra care to insure the message is not lost in transit due to a JMS provider failure.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "4",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 10
              },
              "allowedStereotypeModels": [],
              "name": "priority",
              "displayModel": {
                "summary": "The default JMSPriority value to be used when sending the message"
              },
              "description": "Defines the default Message#getJMSPriority to use when sending messages",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "long",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "0",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 11
              },
              "allowedStereotypeModels": [],
              "name": "timeToLive",
              "displayModel": {
                "summary": "Defines the default time the message will be in the broker before it expires and is discarded"
              },
              "description": "Defines the default time the message will be in the broker before it expires and is discarded",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.util.concurrent.TimeUnit",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "NANOSECONDS",
                      "MICROSECONDS",
                      "MILLISECONDS",
                      "SECONDS",
                      "MINUTES",
                      "HOURS",
                      "DAYS"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "MILLISECONDS",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 12
              },
              "allowedStereotypeModels": [],
              "name": "timeToLiveUnit",
              "displayModel": {
                "summary": "Time unit to be used in the timeToLive configurations"
              },
              "description": "A TimeUnit which qualifies the #timeToLive attribute. \u003cp\u003e Defaults to MILLISECONDS",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 13
              },
              "allowedStereotypeModels": [],
              "name": "disableMessageId",
              "displayModel": {
                "summary": "If true, the Message will be flagged to avoid generating its MessageID"
              },
              "description": "Defines the default value to use when producing messages, for disabling the Message#getJMSMessageID generation in the broker. Depending on the provider it may or may not have effect",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Boolean",
                "annotations": {
                  "typeId": "boolean"
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "false",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 14
              },
              "allowedStereotypeModels": [],
              "name": "disableMessageTimestamp",
              "displayModel": {
                "summary": "If true, the Message will be flagged to avoid generating its sent Timestamp"
              },
              "description": "Defines the default value to use, when producing messages, for disable Message#getJMSTimestamp generation in the broker. Depending on the provider it may or may not have effect.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Long",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Comparable"
                    ],
                    "parent": "java.lang.Number",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 15
              },
              "allowedStereotypeModels": [],
              "name": "deliveryDelay",
              "displayModel": {
                "summary": "Only used by JMS 2.0:  Sets the delivery delay to be applied in order to postpone the Message delivery"
              },
              "description": "This is used to determine the Message delivery delay time which is calculated by adding the deliveryDelay value specified on the send method to the time the message was sent. \u003cp\u003e Only used in JmsSpecification#JMS_2_0",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.util.concurrent.TimeUnit",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "NANOSECONDS",
                      "MICROSECONDS",
                      "MILLISECONDS",
                      "SECONDS",
                      "MINUTES",
                      "HOURS",
                      "DAYS"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "MILLISECONDS",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 16
              },
              "allowedStereotypeModels": [],
              "name": "deliveryDelayUnit",
              "displayModel": {
                "summary": "Only used by JMS 2.0: Time unit to be used in the deliveryDelay configurations."
              },
              "description": "A TimeUnit which qualifies the #deliveryDelay attribute. \u003cp\u003e Defaults to MILLISECONDS",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 17
              },
              "allowedStereotypeModels": [],
              "name": "jmsType",
              "displayModel": {
                "summary": "The message type identifier to be set in the JMSType Header when a message is sent"
              },
              "description": "A message JMSType identifier supplied by a client when a message is sent.",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3,
            "tabName": "Producer"
          },
          "showInDsl": true,
          "name": "Producer Config",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "java",
              "type": "Any",
              "annotations": {
                "classInformation": {
                  "classname": "java.lang.Object",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:JMS Attributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": true,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "JMS:RETRY_EXHAUSTED",
            "JMS:ACK",
            "JMS:DESTINATION_NOT_FOUND",
            "JMS:SECURITY",
            "JMS:TIMEOUT",
            "JMS:CONNECTIVITY",
            "JMS:CONSUMING"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "destination",
                  "displayModel": {
                    "summary": "The name of the Destination from where the Message should be consumed"
                  },
                  "description": "the name of the Destination from where the Message should be consumed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extensions.jms.api.destination.ConsumerType"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "consumerType",
                  "displayModel": {
                    "summary": "The Type of the Consumer that should be used for the provided destination"
                  },
                  "description": "the type of the MessageConsumer that is required for the given destination, along with any extra configurations that are required based on the destination type.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extensions.jms.api.config.ConsumerAckMode",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "IMMEDIATE",
                          "MANUAL"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "ackMode",
                  "displayModel": {
                    "summary": "The Session ACK mode to use when consuming a message"
                  },
                  "description": "the ConsumerAckMode that will be configured over the Message and Session",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "selector",
                  "displayModel": {
                    "summary": "The JMS selector to be used for filtering incoming messages"
                  },
                  "description": "a custom JMS selector for filtering the messages",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentType",
                  "displayModel": {
                    "summary": "The content type of the message body",
                    "example": "application/json"
                  },
                  "description": "the Message\u0027s content content type",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "encoding",
                  "displayModel": {
                    "summary": "The encoding of the message body",
                    "example": "UTF-8"
                  },
                  "description": "the Message\u0027s content encoding",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "10000",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "maximumWait",
                  "displayModel": {
                    "summary": "Maximum time to wait for a message to arrive before timeout"
                  },
                  "description": "maximum time to wait for a message before timing out",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "MILLISECONDS",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8
                  },
                  "allowedStereotypeModels": [],
                  "name": "maximumWaitUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the maximumWaitTime configuration",
                    "example": "MILLISECONDS"
                  },
                  "description": "Time unit to be used in the maximumWaitTime configurations",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.tx.OperationTransactionalAction",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "ALWAYS_JOIN",
                          "JOIN_IF_POSSIBLE",
                          "NOT_SUPPORTED"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "JOIN_IF_POSSIBLE",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "transactionalAction",
                  "description": "The type of joining action that operations can take regarding transactions.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "consume",
          "description": "Operation that allows the user to consume a single Message from a given Destination.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": true,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "JMS:RETRY_EXHAUSTED",
            "JMS:ILLEGAL_BODY",
            "JMS:PUBLISHING",
            "JMS:DESTINATION_NOT_FOUND",
            "JMS:SECURITY",
            "JMS:CONNECTIVITY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "destination",
                  "displayModel": {
                    "summary": "The name of the Destination where the Message should be sent"
                  },
                  "description": "the name of the Destination where the Message should be sent",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extensions.jms.api.destination.DestinationType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "QUEUE",
                          "TOPIC"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "QUEUE",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "destinationType",
                  "displayModel": {
                    "summary": "The type of the Destination"
                  },
                  "description": "the DestinationType of the destination",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.tx.OperationTransactionalAction",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "ALWAYS_JOIN",
                          "JOIN_IF_POSSIBLE",
                          "NOT_SUPPORTED"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "JOIN_IF_POSSIBLE",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "transactionalAction",
                  "description": "Transactional Action for the operation. Indicates if the publish must be executed or not in a transaction.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.parameter.OutboundCorrelationStrategy",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "sendCorrelationId",
                  "description": "options on whether to include an outbound correlation id or not",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "classname": "java.lang.Object",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Object"
                      }
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "body",
                  "displayModel": {
                    "summary": "The body of the Message"
                  },
                  "description": "The body of the Message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "jmsType",
                  "displayModel": {
                    "displayName": "JMS Type",
                    "summary": "The JMSType identifier header of the Message"
                  },
                  "description": "The JMSType header of the Message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "correlationId",
                  "displayModel": {
                    "displayName": "Correlation ID",
                    "summary": "The JMSCorrelationID header of the Message"
                  },
                  "description": "The JMSCorrelationID header of the Message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "true",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8
                  },
                  "allowedStereotypeModels": [],
                  "name": "sendContentType",
                  "displayModel": {
                    "displayName": "Send Content-Type",
                    "summary": "Whether or not the body content type should be sent as a property"
                  },
                  "description": "true if the body type should be sent as a Message property",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9
                  },
                  "allowedStereotypeModels": [],
                  "name": "outboundContentType",
                  "displayModel": {
                    "displayName": "Content-Type",
                    "summary": "The content type of the message\u0027s body",
                    "example": "application/json"
                  },
                  "description": "The content type of the body",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "true",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10
                  },
                  "allowedStereotypeModels": [],
                  "name": "sendEncoding",
                  "displayModel": {
                    "displayName": "Send Encoding",
                    "summary": "Whether or not the body outboundEncoding should be sent as a Message property"
                  },
                  "description": "true if the body outboundEncoding should be sent as a Message property",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11
                  },
                  "allowedStereotypeModels": [],
                  "name": "outboundEncoding",
                  "displayModel": {
                    "displayName": "Encoding",
                    "summary": "The encoding of the message\u0027s body",
                    "example": "UTF-8"
                  },
                  "description": "The outboundEncoding of the message\u0027s body",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extensions.jms.api.destination.JmsDestination"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12
                  },
                  "allowedStereotypeModels": [],
                  "name": "replyTo",
                  "displayModel": {
                    "displayName": "Reply To",
                    "summary": "The destination where a reply to this Message should be sent"
                  },
                  "description": "The JMSReplyTo header information of the Destination where this Message should be replied to",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.Map",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.Object"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.Object",
                        "classInformation": {
                          "classname": "java.lang.Object",
                          "hasDefaultConstructor": true,
                          "isInterface": false,
                          "isInstantiable": true,
                          "isAbstract": false,
                          "isFinal": false,
                          "implementedInterfaces": [],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "Object"
                        }
                      },
                      "fields": []
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 13
                  },
                  "allowedStereotypeModels": [],
                  "name": "properties",
                  "displayModel": {
                    "displayName": "User Properties",
                    "summary": "The custom user properties that should be set to this Message"
                  },
                  "description": "The custom user properties that should be set to this Message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extensions.jms.api.message.JmsxProperties"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 14
                  },
                  "allowedStereotypeModels": [],
                  "name": "jmsxProperties",
                  "displayModel": {
                    "displayName": "JMSX Properties",
                    "summary": "The JMSX properties that should be set to this Message"
                  },
                  "description": "The JMSX properties that should be set to this Message",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": true,
              "name": "Message",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 15
                  },
                  "allowedStereotypeModels": [],
                  "name": "persistentDelivery",
                  "displayModel": {
                    "summary": "If true; the Message will be sent using the PERSISTENT JMSDeliveryMode"
                  },
                  "description": "If true; the Message will be sent using the PERSISTENT JMSDeliveryMode",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 16
                  },
                  "allowedStereotypeModels": [],
                  "name": "priority",
                  "displayModel": {
                    "summary": "The default JMSPriority value to be used when sending the message"
                  },
                  "description": "The default JMSPriority value to be used when sending the message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 17
                  },
                  "allowedStereotypeModels": [],
                  "name": "timeToLive",
                  "displayModel": {
                    "summary": "Defines the default time the message will be in the broker before it expires and is discarded"
                  },
                  "description": "Defines the default time the message will be in the broker before it expires and is discarded",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 18
                  },
                  "allowedStereotypeModels": [],
                  "name": "timeToLiveUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the timeToLive configurations"
                  },
                  "description": "Time unit to be used in the timeToLive configurations",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 19
                  },
                  "allowedStereotypeModels": [],
                  "name": "disableMessageId",
                  "displayModel": {
                    "summary": "If true; the Message will be flagged to avoid generating its MessageID"
                  },
                  "description": "If true; the Message will be flagged to avoid generating its MessageID",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 20
                  },
                  "allowedStereotypeModels": [],
                  "name": "disableMessageTimestamp",
                  "displayModel": {
                    "summary": "If true; the Message will be flagged to avoid generating its sent Timestamp"
                  },
                  "description": "If true; the Message will be flagged to avoid generating its sent Timestamp",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 21
                  },
                  "allowedStereotypeModels": [],
                  "name": "deliveryDelay",
                  "displayModel": {
                    "summary": "Only used by JMS 2.0. Sets the delivery delay to be applied in order to postpone the Message delivery"
                  },
                  "description": "Only used by JMS 2.0. Sets the delivery delay to be applied in order to postpone the Message delivery",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 22
                  },
                  "allowedStereotypeModels": [],
                  "name": "deliveryDelayUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the deliveryDelay configurations"
                  },
                  "description": "Time unit to be used in the deliveryDelay configurations",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Publish Configuration",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 23,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "publish",
          "description": "Operation that allows the user to send a Message to a JMS Destination",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "java",
              "type": "Any",
              "annotations": {
                "classInformation": {
                  "classname": "java.lang.Object",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:JMS Attributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "JMS:RETRY_EXHAUSTED",
            "JMS:ILLEGAL_BODY",
            "JMS:ACK",
            "JMS:PUBLISHING",
            "JMS:DESTINATION_NOT_FOUND",
            "JMS:SECURITY",
            "JMS:TIMEOUT",
            "JMS:CONNECTIVITY",
            "JMS:CONSUMING"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 0,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "destination",
                  "displayModel": {
                    "summary": "The name of the Queue destination where the Message should be sent"
                  },
                  "description": "the name of the Destination where the Message should be sent",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extensions.jms.api.RequestReplyPattern",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "CORRELATION_ID",
                          "MESSAGE_ID",
                          "NONE"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "CORRELATION_ID",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "requestReplyPattern",
                  "displayModel": {
                    "displayName": "Request-Reply Pattern"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.parameter.OutboundCorrelationStrategy",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "sendCorrelationId",
                  "displayModel": {
                    "displayName": "Send Correlation ID"
                  },
                  "description": "options on whether to include an outbound correlation id or not",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 0
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "classname": "java.lang.Object",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Object"
                      }
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "body",
                  "displayModel": {
                    "summary": "The body of the Message"
                  },
                  "description": "The body of the Message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "jmsType",
                  "displayModel": {
                    "displayName": "JMS Type",
                    "summary": "The JMSType identifier header of the Message"
                  },
                  "description": "The JMSType header of the Message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "correlationId",
                  "displayModel": {
                    "displayName": "Correlation ID",
                    "summary": "The JMSCorrelationID header of the Message"
                  },
                  "description": "The JMSCorrelationID header of the Message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "true",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "sendContentType",
                  "displayModel": {
                    "displayName": "Send Content-Type",
                    "summary": "Whether or not the body content type should be sent as a property"
                  },
                  "description": "true if the body type should be sent as a Message property",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "outboundContentType",
                  "displayModel": {
                    "displayName": "Content-Type",
                    "summary": "The content type of the message\u0027s body",
                    "example": "application/json"
                  },
                  "description": "The content type of the body",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "true",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8
                  },
                  "allowedStereotypeModels": [],
                  "name": "sendEncoding",
                  "displayModel": {
                    "displayName": "Send Encoding",
                    "summary": "Whether or not the body outboundEncoding should be sent as a Message property"
                  },
                  "description": "true if the body outboundEncoding should be sent as a Message property",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9
                  },
                  "allowedStereotypeModels": [],
                  "name": "outboundEncoding",
                  "displayModel": {
                    "displayName": "Encoding",
                    "summary": "The encoding of the message\u0027s body",
                    "example": "UTF-8"
                  },
                  "description": "The outboundEncoding of the message\u0027s body",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extensions.jms.api.destination.JmsDestination"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10
                  },
                  "allowedStereotypeModels": [],
                  "name": "replyTo",
                  "displayModel": {
                    "displayName": "Reply To",
                    "summary": "The destination where a reply to this Message should be sent"
                  },
                  "description": "The JMSReplyTo header information of the Destination where this Message should be replied to",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.Map",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.Object"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.Object",
                        "classInformation": {
                          "classname": "java.lang.Object",
                          "hasDefaultConstructor": true,
                          "isInterface": false,
                          "isInstantiable": true,
                          "isAbstract": false,
                          "isFinal": false,
                          "implementedInterfaces": [],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "Object"
                        }
                      },
                      "fields": []
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11
                  },
                  "allowedStereotypeModels": [],
                  "name": "properties",
                  "displayModel": {
                    "displayName": "User Properties",
                    "summary": "The custom user properties that should be set to this Message"
                  },
                  "description": "The custom user properties that should be set to this Message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extensions.jms.api.message.JmsxProperties"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12
                  },
                  "allowedStereotypeModels": [],
                  "name": "jmsxProperties",
                  "displayModel": {
                    "displayName": "JMSX Properties",
                    "summary": "The JMSX properties that should be set to this Message"
                  },
                  "description": "The JMSX properties that should be set to this Message",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "General"
              },
              "showInDsl": true,
              "name": "Message",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 13
                  },
                  "allowedStereotypeModels": [],
                  "name": "persistentDelivery",
                  "displayModel": {
                    "summary": "If true; the Message will be sent using the PERSISTENT JMSDeliveryMode"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 14
                  },
                  "allowedStereotypeModels": [],
                  "name": "priority",
                  "displayModel": {
                    "summary": "The default JMSPriority value to be used when sending the message"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 15
                  },
                  "allowedStereotypeModels": [],
                  "name": "timeToLive",
                  "displayModel": {
                    "summary": "Defines the default time the message will be in the broker before it expires and is discarded"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 16
                  },
                  "allowedStereotypeModels": [],
                  "name": "timeToLiveUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the timeToLive configurations"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 17
                  },
                  "allowedStereotypeModels": [],
                  "name": "disableMessageId",
                  "displayModel": {
                    "summary": "If true; the Message will be flagged to avoid generating its MessageID"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 18
                  },
                  "allowedStereotypeModels": [],
                  "name": "disableMessageTimestamp",
                  "displayModel": {
                    "summary": "If true; the Message will be flagged to avoid generating its sent Timestamp"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 19
                  },
                  "allowedStereotypeModels": [],
                  "name": "deliveryDelay",
                  "displayModel": {
                    "summary": "Only used by JMS 2.0. Sets the delivery delay to be applied in order to postpone the Message delivery"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 20
                  },
                  "allowedStereotypeModels": [],
                  "name": "deliveryDelayUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the deliveryDelay configurations"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "General"
              },
              "showInDsl": true,
              "name": "Publish Configuration",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extensions.jms.api.config.ConsumerAckMode",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "IMMEDIATE",
                          "MANUAL"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 21
                  },
                  "allowedStereotypeModels": [],
                  "name": "ackMode",
                  "displayModel": {
                    "summary": "The Session ACK mode to use when consuming the message"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "10000",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 22
                  },
                  "allowedStereotypeModels": [],
                  "name": "maximumWait",
                  "displayModel": {
                    "summary": "Maximum time to wait for a message to arrive before timeout"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "MILLISECONDS",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 23
                  },
                  "allowedStereotypeModels": [],
                  "name": "maximumWaitUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the maximumWaitTime configuration"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 24
                  },
                  "allowedStereotypeModels": [],
                  "name": "inboundContentType",
                  "displayModel": {
                    "displayName": "Content Type",
                    "summary": "The content type of the message body to be consumed",
                    "example": "application/json"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 25
                  },
                  "allowedStereotypeModels": [],
                  "name": "inboundEncoding",
                  "displayModel": {
                    "displayName": "Encoding",
                    "summary": "The encoding of the message body to be consumed",
                    "example": "UTF-8"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "General"
              },
              "showInDsl": true,
              "name": "Consume Configuration",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 26,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 27,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 28,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "publishConsume",
          "description": "Operation that allows the user to send a message to a JMS Destination and waits for a response either to the provided ReplyTo destination or to a temporary Destination created dynamically",
          "modelProperties": {},
          "kind": "operation"
        }
      ],
      "connectionProviders": [],
      "messageSources": [
        {
          "hasResponse": true,
          "runsOnPrimaryNodeOnly": false,
          "successCallback": {
            "parameterGroupModels": [
              {
                "parameters": [
                  {
                    "type": {
                      "format": "java",
                      "type": "Object",
                      "annotations": {
                        "typeId": "java.lang.Object",
                        "classInformation": {
                          "classname": "java.lang.Object",
                          "hasDefaultConstructor": true,
                          "isInterface": false,
                          "isInstantiable": true,
                          "isAbstract": false,
                          "isFinal": false,
                          "implementedInterfaces": [],
                          "parent": "",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "typeAlias": {
                          "value": "Object"
                        }
                      },
                      "fields": []
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "defaultValue": "#[payload]",
                    "role": "PRIMARY_CONTENT",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": false,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 13
                    },
                    "allowedStereotypeModels": [],
                    "name": "body",
                    "displayModel": {
                      "summary": "The body of the Message"
                    },
                    "description": "The body of the Message",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "String"
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 14
                    },
                    "allowedStereotypeModels": [],
                    "name": "jmsType",
                    "displayModel": {
                      "displayName": "JMS Type",
                      "summary": "The JMSType identifier header of the Message"
                    },
                    "description": "The JMSType header of the Message",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "String"
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 16
                    },
                    "allowedStereotypeModels": [],
                    "name": "correlationId",
                    "displayModel": {
                      "displayName": "Correlation ID",
                      "summary": "The JMSCorrelationID header of the Message"
                    },
                    "description": "The JMSCorrelationID header of the Message",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Boolean",
                      "annotations": {
                        "typeId": "boolean"
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "defaultValue": "true",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 17
                    },
                    "allowedStereotypeModels": [],
                    "name": "sendContentType",
                    "displayModel": {
                      "displayName": "Send Content-Type",
                      "summary": "Whether or not the body content type should be sent as a property"
                    },
                    "description": "true if the body type should be sent as a Message property",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "String"
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 18
                    },
                    "allowedStereotypeModels": [],
                    "name": "outboundContentType",
                    "displayModel": {
                      "displayName": "Content-Type",
                      "summary": "The content type of the message\u0027s body",
                      "example": "application/json"
                    },
                    "description": "The content type of the body",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Boolean",
                      "annotations": {
                        "typeId": "boolean"
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "defaultValue": "true",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 19
                    },
                    "allowedStereotypeModels": [],
                    "name": "sendEncoding",
                    "displayModel": {
                      "displayName": "Send Encoding",
                      "summary": "Whether or not the body outboundEncoding should be sent as a Message property"
                    },
                    "description": "true if the body outboundEncoding should be sent as a Message property",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "String"
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 20
                    },
                    "allowedStereotypeModels": [],
                    "name": "outboundEncoding",
                    "displayModel": {
                      "displayName": "Encoding",
                      "summary": "The encoding of the message\u0027s body",
                      "example": "UTF-8"
                    },
                    "description": "The outboundEncoding of the message\u0027s body",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "@ref:org.mule.extensions.jms.api.destination.JmsDestination"
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 21
                    },
                    "allowedStereotypeModels": [],
                    "name": "replyTo",
                    "displayModel": {
                      "displayName": "Reply To",
                      "summary": "The destination where a reply to this Message should be sent"
                    },
                    "description": "The JMSReplyTo header information of the Destination where this Message should be replied to",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Object",
                      "annotations": {
                        "classInformation": {
                          "classname": "java.util.Map",
                          "hasDefaultConstructor": false,
                          "isInterface": true,
                          "isInstantiable": false,
                          "isAbstract": true,
                          "isFinal": false,
                          "implementedInterfaces": [],
                          "parent": "",
                          "genericTypes": [
                            "java.lang.String",
                            "java.lang.Object"
                          ],
                          "isMap": true
                        }
                      },
                      "open": {
                        "type": "Object",
                        "annotations": {
                          "typeId": "java.lang.Object",
                          "classInformation": {
                            "classname": "java.lang.Object",
                            "hasDefaultConstructor": true,
                            "isInterface": false,
                            "isInstantiable": true,
                            "isAbstract": false,
                            "isFinal": false,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "typeAlias": {
                            "value": "Object"
                          }
                        },
                        "fields": []
                      },
                      "fields": []
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "role": "CONTENT",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": false,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 22
                    },
                    "allowedStereotypeModels": [],
                    "name": "properties",
                    "displayModel": {
                      "displayName": "User Properties",
                      "summary": "The custom user properties that should be set to this Message"
                    },
                    "description": "The custom user properties that should be set to this Message",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "@ref:org.mule.extensions.jms.api.message.JmsxProperties"
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 23
                    },
                    "allowedStereotypeModels": [],
                    "name": "jmsxProperties",
                    "displayModel": {
                      "displayName": "JMSX Properties",
                      "summary": "The JMSX properties that should be set to this Message"
                    },
                    "description": "The JMSX properties that should be set to this Message",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Boolean",
                      "annotations": {
                        "typeId": "boolean"
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 24
                    },
                    "allowedStereotypeModels": [],
                    "name": "persistentDelivery",
                    "displayModel": {
                      "summary": "Whether or not the delivery should be done with a persistent configuration"
                    },
                    "description": "Whether or not the delivery should be done with a persistent configuration",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Number",
                      "annotations": {
                        "classInformation": {
                          "classname": "java.lang.Integer",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Comparable"
                          ],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "int": {}
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 25
                    },
                    "allowedStereotypeModels": [],
                    "name": "priority",
                    "displayModel": {
                      "summary": "The default JMSPriority value to be used when sending the message"
                    },
                    "description": "The default JMSPriority value to be used when sending the message",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Number",
                      "annotations": {
                        "classInformation": {
                          "classname": "java.lang.Long",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Comparable"
                          ],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "int": {}
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 26
                    },
                    "allowedStereotypeModels": [],
                    "name": "timeToLive",
                    "displayModel": {
                      "summary": "Defines the default time the message will be in the broker before it expires and is discarded"
                    },
                    "description": "Defines the default time the message will be in the broker before it expires and is discarded",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "String",
                      "annotations": {
                        "typeId": "java.util.concurrent.TimeUnit",
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "NANOSECONDS",
                            "MICROSECONDS",
                            "MILLISECONDS",
                            "SECONDS",
                            "MINUTES",
                            "HOURS",
                            "DAYS"
                          ]
                        }
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 27
                    },
                    "allowedStereotypeModels": [],
                    "name": "timeToLiveUnit",
                    "displayModel": {
                      "summary": "Time unit to be used in the timeToLive configurations"
                    },
                    "description": "Time unit to be used in the timeToLive configurations",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Boolean",
                      "annotations": {
                        "typeId": "boolean"
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 28
                    },
                    "allowedStereotypeModels": [],
                    "name": "disableMessageId",
                    "displayModel": {
                      "displayName": "Disable Message ID",
                      "summary": "If true; the Message will be flagged to avoid generating its MessageID"
                    },
                    "description": "If true; the Message will be flagged to avoid generating its MessageID",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Boolean",
                      "annotations": {
                        "typeId": "boolean"
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 29
                    },
                    "allowedStereotypeModels": [],
                    "name": "disableMessageTimestamp",
                    "displayModel": {
                      "displayName": "Disable Message Timestamp",
                      "summary": "If true; the Message will be flagged to avoid generating its sent Timestamp"
                    },
                    "description": "If true; the Message will be flagged to avoid generating its sent Timestamp",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Number",
                      "annotations": {
                        "classInformation": {
                          "classname": "java.lang.Long",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Comparable"
                          ],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "int": {}
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 30
                    },
                    "allowedStereotypeModels": [],
                    "name": "deliveryDelay",
                    "displayModel": {
                      "summary": "Only used by JMS 2.0. Sets the delivery delay to be applied in order to postpone the Message delivery"
                    },
                    "description": "Only used by JMS 2.0. Sets the delivery delay to be applied in order to postpone the Message delivery",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "String",
                      "annotations": {
                        "typeId": "java.util.concurrent.TimeUnit",
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "NANOSECONDS",
                            "MICROSECONDS",
                            "MILLISECONDS",
                            "SECONDS",
                            "MINUTES",
                            "HOURS",
                            "DAYS"
                          ]
                        }
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 31
                    },
                    "allowedStereotypeModels": [],
                    "name": "deliveryDelayUnit",
                    "displayModel": {
                      "summary": "Time unit to be used in the deliveryDelay configurations"
                    },
                    "description": "Time unit to be used in the deliveryDelay configurations",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "String",
                      "annotations": {
                        "typeId": "org.mule.runtime.extension.api.runtime.parameter.OutboundCorrelationStrategy",
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "AUTO",
                            "ALWAYS",
                            "NEVER"
                          ]
                        }
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": true,
                    "expressionSupport": "SUPPORTED",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 15,
                      "tabName": "General"
                    },
                    "allowedStereotypeModels": [],
                    "name": "sendCorrelationId",
                    "displayModel": {
                      "displayName": "Send Correlation ID",
                      "summary": "Options on whether to include an outbound correlation id or not"
                    },
                    "description": "Options on whether to include an outbound correlation id or not",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "String",
                      "annotations": {
                        "typeId": "org.mule.extensions.jms.api.RequestReplyPattern",
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "CORRELATION_ID",
                            "MESSAGE_ID",
                            "NONE"
                          ]
                        }
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "defaultValue": "CORRELATION_ID",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 32
                    },
                    "allowedStereotypeModels": [],
                    "name": "requestReplyPattern",
                    "displayModel": {
                      "displayName": "Request Reply Pattern"
                    },
                    "description": "Indicates which Request Reply Pattern to use. By default uses the Correlation ID of the incoming message to do the Reply-To. In case of configuring the Message ID pattern, the ReplyTo will be performed using the message ID of the incoming message. If NONE is selected, not correlation ID will be configured automatically.",
                    "modelProperties": {}
                  },
                  {
                    "type": {
                      "format": "java",
                      "type": "Boolean",
                      "annotations": {
                        "typeId": "boolean"
                      }
                    },
                    "hasDynamicType": false,
                    "required": false,
                    "isConfigOverride": false,
                    "expressionSupport": "SUPPORTED",
                    "defaultValue": "false",
                    "role": "BEHAVIOUR",
                    "dslConfiguration": {
                      "allowsInlineDefinition": true,
                      "allowsReferences": true,
                      "allowTopLevelDefinition": false
                    },
                    "layoutModel": {
                      "password": false,
                      "text": false,
                      "query": false,
                      "order": 1,
                      "tabName": "General"
                    },
                    "allowedStereotypeModels": [],
                    "name": "ignoreReplyTo",
                    "displayModel": {
                      "displayName": "Ignore Jms replyTo Header",
                      "summary": "If true, no automatic response will be sent in case of Jms replyTo header presence."
                    },
                    "description": "",
                    "modelProperties": {}
                  }
                ],
                "exclusiveParametersModels": [],
                "layoutModel": {
                  "password": false,
                  "text": false,
                  "query": false
                },
                "showInDsl": true,
                "name": "Response",
                "displayModel": {
                  "displayName": "Reply-To Response"
                },
                "description": "",
                "modelProperties": {}
              }
            ],
            "name": "onSuccess",
            "description": "",
            "modelProperties": {}
          },
          "errorCallback": {
            "parameterGroupModels": [],
            "name": "onError",
            "description": "",
            "modelProperties": {}
          },
          "output": {
            "type": {
              "format": "java",
              "type": "Any",
              "annotations": {
                "classInformation": {
                  "classname": "java.lang.Object",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:JMS Attributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": true,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "SOURCE",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "destination",
                  "description": "The name of the Destination from where the Message should be consumed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extensions.jms.api.destination.ConsumerType"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "consumerType",
                  "description": "The Type of the Consumer that should be used for the provided destination",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extensions.jms.api.ack.AckMode",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "IMMEDIATE",
                          "AUTO",
                          "MANUAL",
                          "DUPS_OK"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "ackMode",
                  "displayModel": {
                    "displayName": "Acknowledge Mode"
                  },
                  "description": "The Session ACK mode to use when consuming a message",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "selector",
                  "description": "JMS selector to be used for filtering incoming messages",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "inboundContentType",
                  "displayModel": {
                    "displayName": "Inbound Content-Type",
                    "example": "application/json"
                  },
                  "description": "The content type of the message body",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "inboundEncoding",
                  "displayModel": {
                    "displayName": "Inbound Encoding",
                    "example": "UTF-8"
                  },
                  "description": "The inboundEncoding of the message body",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "4",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8
                  },
                  "allowedStereotypeModels": [],
                  "name": "numberOfConsumers",
                  "description": "The number of concurrent consumers that will be used to receive JMS Messages",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.tx.SourceTransactionalAction",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "ALWAYS_BEGIN",
                          "NONE"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "NONE",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "transactionalAction",
                  "description": "The type of beginning action that sources can take regarding transactions.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.runtime.api.tx.TransactionType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "LOCAL",
                          "XA"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "LOCAL",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "transactionType",
                  "description": "The type of transaction to create. Availability will depend on the runtime version.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": true,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 33,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "useSecureHash"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "default": "true"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "idExpression"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "listener",
          "displayModel": {
            "displayName": "On New Message"
          },
          "description": "JMS Subscriber for Destinations, allows to listen for incoming Messages",
          "modelProperties": {},
          "kind": "source"
        }
      ],
      "name": "config",
      "description": "Base configuration for JmsConnector",
      "modelProperties": {}
    }
  ],
  "operations": [
    {
      "blocking": false,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": "java",
          "type": "Void"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "type": "Void"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [],
      "errors": [
        "JMS:ACK"
      ],
      "stereotype": {
        "type": "PROCESSOR",
        "namespace": "MULE"
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "ackId",
              "displayModel": {
                "summary": "The AckId of the Message to ACK"
              },
              "description": "The AckId of the Message to ACK",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "ack",
      "description": "Allows the user to perform an ACK when the AckMode#MANUAL mode is elected while consuming the Message. As per JMS Spec, performing an ACK over a single Message automatically works as an ACK for all the Messages produced in the same JmsSession.",
      "modelProperties": {},
      "kind": "operation"
    },
    {
      "blocking": false,
      "executionType": "CPU_LITE",
      "output": {
        "type": {
          "format": "java",
          "type": "Void"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "outputAttributes": {
        "type": {
          "format": "java",
          "type": "Void"
        },
        "hasDynamicType": false,
        "description": "",
        "modelProperties": {}
      },
      "transactional": false,
      "requiresConnection": false,
      "supportsStreaming": false,
      "notifications": [],
      "nestedComponents": [],
      "errors": [
        "JMS:SESSION_RECOVER"
      ],
      "stereotype": {
        "type": "PROCESSOR",
        "namespace": "MULE"
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "ackId",
              "description": "The AckId of the Message Session to recover",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "recoverSession",
      "description": "Allows the user to perform a session recover when the AckMode#MANUAL mode is elected while consuming the Message. As per JMS Spec, performing a session recover automatically will redeliver all the consumed messages that had not being acknowledged before this recover.",
      "modelProperties": {},
      "kind": "operation"
    }
  ],
  "functions": [],
  "constructs": [],
  "connectionProviders": [
    {
      "connectionManagementType": "CACHED",
      "externalLibraryModels": [
        {
          "name": "ActiveMQ Client",
          "description": "The ActiveMQ JMS Client implementation.",
          "requiredClassName": "org.apache.activemq.ActiveMQConnectionFactory",
          "type": "DEPENDENCY",
          "suggestedCoordinates": "org.apache.activemq:activemq-client:5.15.4",
          "optional": false
        },
        {
          "name": "ActiveMQ Broker",
          "description": "The ActiveMQ Message Broker implementation. Only required when using an in-memory broker based on the VM transport, like the one configured by default.",
          "requiredClassName": "org.apache.activemq.broker.Broker",
          "type": "DEPENDENCY",
          "suggestedCoordinates": "org.apache.activemq:activemq-broker:5.15.4",
          "optional": true
        },
        {
          "name": "ActiveMQ KahaDB",
          "description": "The ActiveMQ KahaDB Store Implementation. Only required if using a persistent in-memory broker. For example: \u0027vm://localhost?broker.persistent\u003dtrue\u0027",
          "requiredClassName": "org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter",
          "type": "DEPENDENCY",
          "suggestedCoordinates": "org.apache.activemq:activemq-kahadb-store:5.15.4",
          "optional": true
        }
      ],
      "supportsConnectivityTesting": true,
      "stereotype": {
        "type": "ACTIVE-MQ",
        "namespace": "JMS",
        "parent": {
          "type": "CONNECTION",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "org.mule.extensions.jms.api.connection.JmsSpecification",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "JMS_1_0_2b",
                      "JMS_1_1",
                      "JMS_2_0"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "JMS_1_1",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "name": "specification",
              "description": "Versions of the JmsSpecification to be used by the extension. This version should be compatible with the implementation of the ConnectionFactory configured. Functionality available only for certain versions of the spec will throw an error if the version requirement is not met.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "@ref:org.mule.extensions.jms.api.connection.caching.CachingStrategy"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "allowedStereotypeModels": [],
              "name": "cachingStrategy",
              "description": "the strategy to be used for caching of Sessions and Connections",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.DefaultImplementingTypeModelProperty": {
                  "defaultType": {
                    "format": "java",
                    "type": "@ref:org.mule.extensions.jms.api.connection.caching.DefaultCachingStrategy"
                  }
                }
              }
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.api.tls.TlsContextFactory",
                  "typeAlias": {
                    "value": "Tls"
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": true
                  },
                  "QName": {
                    "value": {
                      "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                      "localPart": "context",
                      "prefix": "tls"
                    }
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "enabledProtocols"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "description": {
                        "value": "A comma separated list of protocols enabled for this context."
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "enabledCipherSuites"
                    },
                    "model": {
                      "type": "String"
                    },
                    "annotations": {
                      "description": {
                        "value": "A comma separated list of cipher suites enabled for this context."
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "trust-store"
                    },
                    "model": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "TrustStore",
                        "description": {
                          "value": "Trust store configuration. If used client side, the trust store contains the certificates of the trusted servers. If used server side, it contains the certificates of the trusted clients."
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "path"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the trust store."
                            },
                            "display": {
                              "displayModel": {
                                "pathModel": {
                                  "type": "FILE",
                                  "fileExtensions": [],
                                  "acceptsUrls": false,
                                  "location": "EMBEDDED"
                                }
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "password"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The password used to protect the trust store."
                            },
                            "layout": {
                              "layoutModel": {
                                "password": true,
                                "text": false,
                                "query": false
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "type"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "display": {
                                "displayModel": {
                                  "example": "jks, jceks, pkcs12 or other store type"
                                }
                              }
                            }
                          },
                          "annotations": {
                            "description": {
                              "value": "The type of store used."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "algorithm"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The algorithm used by the trust store."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "insecure"
                          },
                          "model": {
                            "type": "Boolean",
                            "annotations": {
                              "default": "false"
                            }
                          },
                          "annotations": {
                            "description": {
                              "value": "If true, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk."
                            }
                          }
                        }
                      ]
                    },
                    "annotations": {
                      "parameterDsl": {
                        "allowInlineDefinition": true,
                        "allowReferences": false
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "key-store"
                    },
                    "model": {
                      "type": "Object",
                      "annotations": {
                        "typeId": "KeyStore",
                        "description": {
                          "value": "Key store configuration. The key store contains the keys of this server/client."
                        }
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "path"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the key store."
                            },
                            "display": {
                              "displayModel": {
                                "pathModel": {
                                  "type": "FILE",
                                  "fileExtensions": [],
                                  "acceptsUrls": false,
                                  "location": "EMBEDDED"
                                }
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "type"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "display": {
                                "displayModel": {
                                  "example": "jks, jceks, pkcs12 or other store type"
                                }
                              }
                            }
                          },
                          "annotations": {
                            "description": {
                              "value": "The type of store used."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "alias"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "When the key store contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file will be used by default."
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "keyPassword"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The password used to protect the private key."
                            },
                            "layout": {
                              "layoutModel": {
                                "password": true,
                                "text": false,
                                "query": false
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "password"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The password used to protect the key store."
                            },
                            "layout": {
                              "layoutModel": {
                                "password": true,
                                "text": false,
                                "query": false
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "algorithm"
                          },
                          "model": {
                            "type": "String"
                          },
                          "annotations": {
                            "description": {
                              "value": "The algorithm used by the key store."
                            }
                          }
                        }
                      ]
                    },
                    "annotations": {
                      "parameterDsl": {
                        "allowInlineDefinition": true,
                        "allowReferences": false
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "revocation-check"
                    },
                    "model": {
                      "type": "Union",
                      "annotations": {
                        "typeId": "RevocationCheck"
                      },
                      "of": [
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "standard-revocation-check",
                            "description": {
                              "value": "Uses the standard JVM certificate revocation checks, which depend on the certificate having the corresponding extension points (additional tags for CRLDP or OCSP), and the availability of revocation servers."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "onlyEndEntities"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Only verify the last element of the certificate chain."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "preferCrls"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Try CRL instead of OCSP first."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "noFallback"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Do not use the secondary checking method (the one not selected before)."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "softFail"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Avoid verification failure when the revocation server can not be reached or is busy."
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "custom-ocsp-responder",
                            "description": {
                              "value": "Uses a custom OCSP responder for certificate revocation checks, with a specific trusted certificate for revocating other keys. This ignores extension points (additional tags for CRLDP or OCSP) present in the certificate, if any."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "url"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The URL of the OCSP responder."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "certAlias"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Alias of the signing certificate for the OCSP response (must be in the trust store), if present."
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "crl-file",
                            "description": {
                              "value": "Local file based certificate revocation checker, which requires a CRL file to be accessible and ignores extension points (additional tags for CRLDP and OCSP) in the certificate."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "path"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The path to the CRL file."
                                }
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "annotations": {
                      "parameterDsl": {
                        "allowInlineDefinition": true,
                        "allowReferences": false
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": true
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5,
                "tabName": "TLS/SSL"
              },
              "allowedStereotypeModels": [],
              "name": "tlsContext",
              "displayModel": {
                "displayName": "TLS Configuration",
                "summary": "TLS/SSL Configuration to be able to create Secure and Encrypted ActiveMQ Connections"
              },
              "description": "",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 8
                },
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                    "localPart": "context",
                    "prefix": "tls"
                  }
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 0
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6
              },
              "allowedStereotypeModels": [],
              "name": "username",
              "description": "Username to be used when providing credentials for authentication.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false,
                "order": 7
              },
              "allowedStereotypeModels": [],
              "name": "password",
              "description": "Password to be used when providing credentials for authentication.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 8
              },
              "allowedStereotypeModels": [],
              "name": "clientId",
              "description": "Client identifier to be assigned to the Connection upon creation. The purpose of client identifier is to associate a connection and its objects with a state maintained on behalf of the client by a provider. By definition, the client state identified by a client identifier can be \"in use\" by only one client at a time. \u003cp\u003e The only use of a client identifier defined by JMS is its mandatory use in identifying an unshared durable subscription or its optional use in identifying a shared durable or non-durable subscription.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "Reconnection"
                },
                "fields": [
                  {
                    "key": {
                      "name": "failsDeployment"
                    },
                    "model": {
                      "type": "Boolean",
                      "annotations": {
                        "default": "false"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn\u0027t pass after exhausting the associated reconnection strategy"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "reconnectionStrategy"
                    },
                    "model": {
                      "type": "Union",
                      "annotations": {
                        "typeId": "ReconnectionStrategy"
                      },
                      "of": [
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "reconnect"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "frequency"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {},
                                  "classInformation": {
                                    "classname": "java.lang.Long",
                                    "hasDefaultConstructor": false,
                                    "isInterface": false,
                                    "isInstantiable": false,
                                    "isAbstract": false,
                                    "isFinal": true,
                                    "implementedInterfaces": [
                                      "java.lang.Comparable"
                                    ],
                                    "parent": "java.lang.Number",
                                    "genericTypes": [],
                                    "isMap": false
                                  },
                                  "default": "2000"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "How often (in ms) to reconnect"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "count"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {},
                                  "default": "2"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "How many reconnection attempts to make"
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "reconnect-forever"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "frequency"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {},
                                  "classInformation": {
                                    "classname": "java.lang.Long",
                                    "hasDefaultConstructor": false,
                                    "isInterface": false,
                                    "isInstantiable": false,
                                    "isAbstract": false,
                                    "isFinal": true,
                                    "implementedInterfaces": [
                                      "java.lang.Comparable"
                                    ],
                                    "parent": "java.lang.Number",
                                    "genericTypes": [],
                                    "isMap": false
                                  },
                                  "default": "2000"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "How often (in ms) to reconnect"
                                }
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "annotations": {
                      "description": {
                        "value": "The reconnection strategy to use"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 9,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "reconnection",
              "description": "When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn\u0027t pass after exhausting the associated reconnection strategy",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "reconnection",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 3
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3
          },
          "showInDsl": false,
          "name": "Connection",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "4",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 10,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "minPoolSize",
              "displayModel": {
                "summary": "The minimum size of the XA connection pool."
              },
              "description": "The minimum size of the XA connection pool. This value is only considered when XA connections are used.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "32",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 11,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "maxPoolSize",
              "displayModel": {
                "summary": "The maximum size of the XA connection pool."
              },
              "description": "The maximum size of the XA connection pool. This value is only considered when XA connections are used.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "60",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 12,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "maxIdleSeconds",
              "displayModel": {
                "summary": "How many seconds can an XA transaction remain idle before its eligible for eviction."
              },
              "description": "How many seconds can an XA transaction remain idle before its eligible for eviction. This value is only considered when XA connections are used.",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 4
          },
          "showInDsl": true,
          "name": "XA Connection Pool",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "@ref:org.mule.extensions.jms.api.connection.factory.activemq.ActiveMQConnectionFactoryConfiguration"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "factoryConfiguration",
              "description": "Parameters required to configure a default ActiveMQConnectionFactory",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "javax.jms.ConnectionFactory",
                  "classInformation": {
                    "classname": "javax.jms.ConnectionFactory",
                    "hasDefaultConstructor": false,
                    "isInterface": true,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "typeAlias": {
                    "value": "ConnectionFactory"
                  }
                },
                "fields": []
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "General"
              },
              "allowedStereotypeModels": [],
              "name": "connectionFactory",
              "description": "A custom ConnectionFactory that relates to an ActiveMQConnectionFactory",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [
            {
              "exclusiveParameterNames": [
                "factoryConfiguration",
                "connectionFactory"
              ],
              "isOneRequired": false
            }
          ],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1,
            "tabName": "General"
          },
          "showInDsl": false,
          "name": "Connection Factory",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "active-mq",
      "displayModel": {
        "displayName": "ActiveMQ Connection"
      },
      "description": "A ConnectionProvider that contains custom logic to handle ActiveMQ connections in particular",
      "modelProperties": {}
    },
    {
      "connectionManagementType": "CACHED",
      "externalLibraryModels": [
        {
          "name": "JMS Client",
          "description": "Client which lets communicate with a JMS broker",
          "type": "DEPENDENCY",
          "optional": false
        }
      ],
      "supportsConnectivityTesting": true,
      "stereotype": {
        "type": "GENERIC",
        "namespace": "JMS",
        "parent": {
          "type": "CONNECTION",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "org.mule.extensions.jms.api.connection.JmsSpecification",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "JMS_1_0_2b",
                      "JMS_1_1",
                      "JMS_2_0"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "defaultValue": "JMS_1_1",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "allowedStereotypeModels": [],
              "name": "specification",
              "description": "Versions of the JmsSpecification to be used by the extension. This version should be compatible with the implementation of the ConnectionFactory configured. Functionality available only for certain versions of the spec will throw an error if the version requirement is not met.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "@ref:org.mule.extensions.jms.api.connection.caching.CachingStrategy"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "name": "cachingStrategy",
              "description": "the strategy to be used for caching of Sessions and Connections",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.DefaultImplementingTypeModelProperty": {
                  "defaultType": {
                    "format": "java",
                    "type": "@ref:org.mule.extensions.jms.api.connection.caching.DefaultCachingStrategy"
                  }
                }
              }
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "javax.jms.ConnectionFactory",
                  "classInformation": {
                    "classname": "javax.jms.ConnectionFactory",
                    "hasDefaultConstructor": false,
                    "isInterface": true,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "typeAlias": {
                    "value": "ConnectionFactory"
                  }
                },
                "fields": []
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "allowedStereotypeModels": [],
              "name": "connectionFactory",
              "description": "a JMS ConnectionFactory implementation",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "allowedStereotypeModels": [],
              "name": "username",
              "description": "Username to be used when providing credentials for authentication.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false,
                "order": 5
              },
              "allowedStereotypeModels": [],
              "name": "password",
              "description": "Password to be used when providing credentials for authentication.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 6
              },
              "allowedStereotypeModels": [],
              "name": "clientId",
              "description": "Client identifier to be assigned to the Connection upon creation. The purpose of client identifier is to associate a connection and its objects with a state maintained on behalf of the client by a provider. By definition, the client state identified by a client identifier can be \"in use\" by only one client at a time. \u003cp\u003e The only use of a client identifier defined by JMS is its mandatory use in identifying an unshared durable subscription or its optional use in identifying a shared durable or non-durable subscription.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "Reconnection"
                },
                "fields": [
                  {
                    "key": {
                      "name": "failsDeployment"
                    },
                    "model": {
                      "type": "Boolean",
                      "annotations": {
                        "default": "false"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn\u0027t pass after exhausting the associated reconnection strategy"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "reconnectionStrategy"
                    },
                    "model": {
                      "type": "Union",
                      "annotations": {
                        "typeId": "ReconnectionStrategy"
                      },
                      "of": [
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "reconnect"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "frequency"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {},
                                  "classInformation": {
                                    "classname": "java.lang.Long",
                                    "hasDefaultConstructor": false,
                                    "isInterface": false,
                                    "isInstantiable": false,
                                    "isAbstract": false,
                                    "isFinal": true,
                                    "implementedInterfaces": [
                                      "java.lang.Comparable"
                                    ],
                                    "parent": "java.lang.Number",
                                    "genericTypes": [],
                                    "isMap": false
                                  },
                                  "default": "2000"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "How often (in ms) to reconnect"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "count"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {},
                                  "default": "2"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "How many reconnection attempts to make"
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "Object",
                          "annotations": {
                            "typeId": "reconnect-forever"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "frequency"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {},
                                  "classInformation": {
                                    "classname": "java.lang.Long",
                                    "hasDefaultConstructor": false,
                                    "isInterface": false,
                                    "isInstantiable": false,
                                    "isAbstract": false,
                                    "isFinal": true,
                                    "implementedInterfaces": [
                                      "java.lang.Comparable"
                                    ],
                                    "parent": "java.lang.Number",
                                    "genericTypes": [],
                                    "isMap": false
                                  },
                                  "default": "2000"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "How often (in ms) to reconnect"
                                }
                              }
                            }
                          ]
                        }
                      ]
                    },
                    "annotations": {
                      "description": {
                        "value": "The reconnection strategy to use"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 7,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "reconnection",
              "description": "When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn\u0027t pass after exhausting the associated reconnection strategy",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "reconnection",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 3
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 2
          },
          "showInDsl": false,
          "name": "Connection",
          "description": "",
          "modelProperties": {}
        },
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "4",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 8,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "minPoolSize",
              "displayModel": {
                "summary": "The minimum size of the XA connection pool."
              },
              "description": "The minimum size of the XA connection pool. This value is only considered when XA connections are used.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "32",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 9,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "maxPoolSize",
              "displayModel": {
                "summary": "The maximum size of the XA connection pool."
              },
              "description": "The maximum size of the XA connection pool. This value is only considered when XA connections are used.",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "int",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": true,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "60",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": true,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 10,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "maxIdleSeconds",
              "displayModel": {
                "summary": "How many seconds can an XA transaction remain idle before its eligible for eviction."
              },
              "description": "How many seconds can an XA transaction remain idle before its eligible for eviction. This value is only considered when XA connections are used.",
              "modelProperties": {}
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 3
          },
          "showInDsl": true,
          "name": "XA Connection Pool",
          "description": "",
          "modelProperties": {}
        }
      ],
      "name": "generic",
      "displayModel": {
        "displayName": "Generic Connection"
      },
      "description": "Generic implementation of a JMS ConnectionProvider. This provider uses any ConnectionFactory that the user configures in order to create a JmsConnection.",
      "modelProperties": {}
    }
  ],
  "messageSources": [],
  "notifications": [],
  "errors": [
    {
      "error": "JMS:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JMS:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JMS:ACK",
      "parent": "JMS:CONSUMING",
      "handleable": true
    },
    {
      "error": "JMS:CONSUMING",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JMS:PUBLISHING",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JMS:SECURITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JMS:TIMEOUT",
      "parent": "JMS:CONSUMING",
      "handleable": true
    },
    {
      "error": "JMS:SESSION_RECOVER",
      "parent": "JMS:CONSUMING",
      "handleable": true
    },
    {
      "error": "JMS:ILLEGAL_BODY",
      "parent": "JMS:PUBLISHING",
      "handleable": true
    },
    {
      "error": "JMS:MISSING_LIBRARIES",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "JMS:DESTINATION_NOT_FOUND",
      "parent": "MULE:ANY",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "JMS Attributes",
        "classInformation": {
          "classname": "java.lang.Object",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        }
      },
      "fields": [
        {
          "key": {
            "name": "properties"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "JMS Message Properties"
            },
            "fields": [
              {
                "key": {
                  "name": "all",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "open": {
                    "type": "Any"
                  },
                  "fields": []
                }
              },
              {
                "key": {
                  "name": "userProperties",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "open": {
                    "type": "Any"
                  },
                  "fields": []
                }
              },
              {
                "key": {
                  "name": "jmsProperties",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "open": {
                    "type": "Any"
                  },
                  "fields": []
                }
              },
              {
                "key": {
                  "name": "jmsxProperties"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "JMSX Properties"
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "jmsxUserID"
                      },
                      "model": {
                        "type": "String"
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxAppID"
                      },
                      "model": {
                        "type": "String"
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxDeliveryCount"
                      },
                      "model": {
                        "type": "Number",
                        "annotations": {
                          "int": {}
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxGroupID"
                      },
                      "model": {
                        "type": "String"
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxGroupSeq"
                      },
                      "model": {
                        "type": "Number",
                        "annotations": {
                          "int": {}
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxProducerTXID"
                      },
                      "model": {
                        "type": "String"
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxConsumerTXID"
                      },
                      "model": {
                        "type": "String"
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxRcvTimestamp"
                      },
                      "model": {
                        "type": "Number",
                        "annotations": {
                          "int": {}
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "key": {
            "name": "headers",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "fields": [
              {
                "key": {
                  "name": "deliveryMode",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "expiration",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "priority",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "messageId",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                }
              },
              {
                "key": {
                  "name": "timestamp",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "correlationId",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                }
              },
              {
                "key": {
                  "name": "type"
                },
                "model": {
                  "type": "String"
                }
              },
              {
                "key": {
                  "name": "deliveryTime",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "int": {}
                  }
                }
              },
              {
                "key": {
                  "name": "redelivered"
                },
                "model": {
                  "type": "Boolean"
                }
              },
              {
                "key": {
                  "name": "destination"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "JMS Destination"
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "destination"
                      },
                      "model": {
                        "type": "String"
                      }
                    },
                    {
                      "key": {
                        "name": "destinationType"
                      },
                      "model": {
                        "type": "String",
                        "annotations": {
                          "enum": {
                            "type": "[Ljava.lang.String;",
                            "values": [
                              "QUEUE",
                              "TOPIC"
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              },
              {
                "key": {
                  "name": "replyTo"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "JMS Destination"
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "destination"
                      },
                      "model": {
                        "type": "String"
                      }
                    },
                    {
                      "key": {
                        "name": "destinationType"
                      },
                      "model": {
                        "type": "String",
                        "annotations": {
                          "enum": {
                            "type": "[Ljava.lang.String;",
                            "values": [
                              "QUEUE",
                              "TOPIC"
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "key": {
            "name": "ackId"
          },
          "model": {
            "type": "String"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.connection.caching.CachingStrategy",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.connection.caching.CachingStrategy",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.jms.commons.api.connection.caching.CachingStrategy"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "CachingStrategy"
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.connection.caching.DefaultCachingStrategy",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.connection.caching.DefaultCachingStrategy",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extensions.jms.api.connection.caching.CachingStrategy"
          ],
          "parent": "org.mule.jms.commons.api.connection.caching.DefaultCachingStrategy",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "default-caching"
        }
      },
      "fields": [
        {
          "key": {
            "name": "sessionCacheSize"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "cacheProducers"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "cacheConsumers"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "true",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.connection.caching.NoCachingConfiguration",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.connection.caching.NoCachingConfiguration",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extensions.jms.api.connection.caching.CachingStrategy"
          ],
          "parent": "org.mule.jms.commons.api.connection.caching.NoCachingConfiguration",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "no-caching"
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.connection.factory.activemq.ActiveMQConnectionFactoryConfiguration",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.connection.factory.activemq.ActiveMQConnectionFactoryConfiguration",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ActiveMQConnectionFactoryConfiguration"
        }
      },
      "fields": [
        {
          "key": {
            "name": "brokerUrl"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "default": "vm://localhost?broker.persistent\u003dfalse\u0026broker.useJmx\u003dfalse",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "example": "tcp://localhost:61616"
              }
            }
          }
        },
        {
          "key": {
            "name": "enable-xa"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "initialRedeliveryDelay"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "long",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "1000",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Configures the ActiveMQ \u0027initialRedeliveryDelay\u0027 in the consumer\u0027s RedeliveryPolicy"
              }
            }
          }
        },
        {
          "key": {
            "name": "redeliveryDelay"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "long",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "1000",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Configures the ActiveMQ \u0027redeliveryDelay\u0027 in the consumer\u0027s RedeliveryPolicy"
              }
            }
          }
        },
        {
          "key": {
            "name": "maxRedelivery"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "0",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Configures the ActiveMQ \u0027maxRedelivery\u0027 in the consumer\u0027s RedeliveryPolicy"
              }
            }
          }
        },
        {
          "key": {
            "name": "trustedPackages"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "String"
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Whitelist of packages of classes that are allowed sent and received."
              }
            }
          }
        },
        {
          "key": {
            "name": "trustAllPackages"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Indicates whether any class from any package can be sent and received or not as a ObjectMessage.\nEnabling this is unsafe as malicious payload can exploit the host system."
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.connection.factory.jndi.CachedJndiNameResolver",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.connection.factory.jndi.CachedJndiNameResolver",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "org.mule.extensions.jms.api.connection.factory.jndi.AbstractJndiNameResolver",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "CachedJndiNameResolver"
        }
      },
      "fields": [
        {
          "key": {
            "name": "contextFactory"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "javax.naming.spi.InitialContextFactory",
              "classInformation": {
                "classname": "javax.naming.spi.InitialContextFactory",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "InitialContextFactory"
              }
            },
            "fields": []
          }
        },
        {
          "key": {
            "name": "jndiInitialFactory"
          },
          "model": {
            "type": "String"
          }
        },
        {
          "key": {
            "name": "jndiProviderProperties"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "java.util.Map",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": true
              }
            },
            "open": {
              "type": "Any"
            },
            "fields": []
          }
        },
        {
          "key": {
            "name": "jndiProviderUrl"
          },
          "model": {
            "type": "String"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.connection.factory.jndi.JndiConnectionFactory",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.connection.factory.jndi.JndiConnectionFactory",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.api.lifecycle.Lifecycle"
          ],
          "parent": "org.springframework.jms.connection.DelegatingConnectionFactory",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "JndiConnectionFactory"
        }
      },
      "fields": [
        {
          "key": {
            "name": "connectionFactoryJndiName",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "lookupDestination"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "org.mule.extensions.jms.api.connection.LookupJndiDestination",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "NEVER",
                  "ALWAYS",
                  "TRY_ALWAYS"
                ]
              }
            }
          },
          "annotations": {
            "default": "NEVER",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "nameResolverProvider",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extensions.jms.api.connection.factory.jndi.JndiNameResolverProvider",
              "classInformation": {
                "classname": "org.mule.extensions.jms.api.connection.factory.jndi.JndiNameResolverProvider",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "JndiNameResolverProvider"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "customJndiNameResolver"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.extensions.jms.api.connection.factory.jndi.JndiNameResolver",
                    "classInformation": {
                      "classname": "org.mule.extensions.jms.api.connection.factory.jndi.JndiNameResolver",
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "org.mule.runtime.api.lifecycle.Lifecycle"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "JndiNameResolver"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "NOT_SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "nameResolverBuilder"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.extensions.jms.api.connection.factory.jndi.JndiNameResolverProperties",
                    "classInformation": {
                      "classname": "org.mule.extensions.jms.api.connection.factory.jndi.JndiNameResolverProperties",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": true,
                      "isAbstract": false,
                      "isFinal": false,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "JndiNameResolverProperties"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "jndiInitialContextFactory",
                        "required": "true"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The fully qualified class name of the factory class that will create an initial context"
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jndiProviderUrl"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The JNDI service provider URL"
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "providerProperties"
                      },
                      "model": {
                        "type": "Object",
                        "annotations": {
                          "classInformation": {
                            "classname": "java.util.Map",
                            "hasDefaultConstructor": false,
                            "isInterface": true,
                            "isInstantiable": false,
                            "isAbstract": true,
                            "isFinal": false,
                            "implementedInterfaces": [],
                            "parent": "",
                            "genericTypes": [
                              "java.lang.String",
                              "java.lang.Object"
                            ],
                            "isMap": true
                          }
                        },
                        "open": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "java.lang.Object",
                            "classInformation": {
                              "classname": "java.lang.Object",
                              "hasDefaultConstructor": true,
                              "isInterface": false,
                              "isInstantiable": true,
                              "isAbstract": false,
                              "isFinal": false,
                              "implementedInterfaces": [],
                              "parent": "",
                              "genericTypes": [],
                              "isMap": false
                            },
                            "typeAlias": {
                              "value": "Object"
                            }
                          },
                          "fields": []
                        },
                        "fields": []
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "Properties to be passed on to the JNDI Name Resolver Context"
                          }
                        }
                      }
                    }
                  ]
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "NOT_SUPPORTED"
                  }
                }
              }
            ]
          },
          "annotations": {
            "flattened": {},
            "exclusiveOptionals": {
              "exclusiveParameterNames": [
                "customJndiNameResolver",
                "nameResolverBuilder"
              ],
              "isOneRequired": true
            },
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.connection.factory.jndi.JndiNameResolver",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.connection.factory.jndi.JndiNameResolver",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.api.lifecycle.Lifecycle"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "JndiNameResolver"
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.connection.factory.jndi.SimpleJndiNameResolver",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.connection.factory.jndi.SimpleJndiNameResolver",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "org.mule.extensions.jms.api.connection.factory.jndi.AbstractJndiNameResolver",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "SimpleJndiNameResolver"
        }
      },
      "fields": [
        {
          "key": {
            "name": "contextFactory"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "javax.naming.spi.InitialContextFactory",
              "classInformation": {
                "classname": "javax.naming.spi.InitialContextFactory",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "InitialContextFactory"
              }
            },
            "fields": []
          }
        },
        {
          "key": {
            "name": "jndiInitialFactory"
          },
          "model": {
            "type": "String"
          }
        },
        {
          "key": {
            "name": "jndiProviderProperties"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "java.util.Map",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": true
              }
            },
            "open": {
              "type": "Any"
            },
            "fields": []
          }
        },
        {
          "key": {
            "name": "jndiProviderUrl"
          },
          "model": {
            "type": "String"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.destination.ConsumerType",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.destination.ConsumerType",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.jms.commons.api.destination.ConsumerType"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ConsumerType"
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.destination.JmsDestination",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.destination.JmsDestination",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.jms.commons.api.destination.JmsDestination"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "JmsDestination"
        }
      },
      "fields": [
        {
          "key": {
            "name": "destination",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "parameterDsl": {
              "allowInlineDefinition": true,
              "allowReferences": false
            },
            "display": {
              "displayModel": {
                "displayName": "Destination Name",
                "summary": "It is the destination where a reply to the message should be sent"
              }
            }
          }
        },
        {
          "key": {
            "name": "destinationType"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "org.mule.extensions.jms.api.destination.DestinationType",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "QUEUE",
                  "TOPIC"
                ]
              }
            }
          },
          "annotations": {
            "default": "QUEUE",
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.destination.QueueConsumer",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.destination.QueueConsumer",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.extensions.jms.api.destination.ConsumerType"
          ],
          "parent": "org.mule.jms.commons.api.destination.QueueConsumer",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "queue-consumer"
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.destination.TopicConsumer",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.destination.TopicConsumer",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.api.lifecycle.Initialisable",
            "org.mule.extensions.jms.api.destination.ConsumerType"
          ],
          "parent": "org.mule.jms.commons.api.destination.TopicConsumer",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "topic-consumer"
        }
      },
      "fields": [
        {
          "key": {
            "name": "durable"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Allows an application to receive all the messages published on a topic, including the ones published when there is no consumer associated with it"
              }
            }
          }
        },
        {
          "key": {
            "name": "shared"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Only for JMS 2.0: Allows the processing of messages from a topic subscription by multiple threads, connections or JVMs"
              }
            }
          }
        },
        {
          "key": {
            "name": "noLocal"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Specifies that messages published to the topic by its own connection must not be added to the subscription"
              }
            }
          }
        },
        {
          "key": {
            "name": "subscriptionName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "parameterDsl": {
              "allowInlineDefinition": true,
              "allowReferences": false
            },
            "display": {
              "displayModel": {
                "summary": "The name to be used for the subscription"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.message.JmsAttributes",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.message.JmsAttributes",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.jms.commons.api.message.JmsAttributes"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "JmsAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "properties",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extensions.jms.api.message.JmsMessageProperties",
              "classInformation": {
                "classname": "org.mule.extensions.jms.api.message.JmsMessageProperties",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "org.mule.jms.commons.api.message.JmsMessageProperties",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "JmsMessageProperties"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "all",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.util.Map",
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [
                        "java.lang.String",
                        "java.lang.Object"
                      ],
                      "isMap": true
                    }
                  },
                  "open": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "classname": "java.lang.Object",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Object"
                      }
                    },
                    "fields": []
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "userProperties",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.util.Map",
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [
                        "java.lang.String",
                        "java.lang.Object"
                      ],
                      "isMap": true
                    }
                  },
                  "open": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "classname": "java.lang.Object",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Object"
                      }
                    },
                    "fields": []
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "jmsProperties",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.util.Map",
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [
                        "java.lang.String",
                        "java.lang.Object"
                      ],
                      "isMap": true
                    }
                  },
                  "open": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "java.lang.Object",
                      "classInformation": {
                        "classname": "java.lang.Object",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Object"
                      }
                    },
                    "fields": []
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "jmsxProperties",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.jms.commons.api.message.JmsxProperties",
                    "classInformation": {
                      "classname": "org.mule.jms.commons.api.message.JmsxProperties",
                      "hasDefaultConstructor": true,
                      "isInterface": false,
                      "isInstantiable": true,
                      "isAbstract": false,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "JmsxProperties"
                    }
                  },
                  "fields": [
                    {
                      "key": {
                        "name": "jmsxUserID"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The identity of the user sending the message"
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxAppID"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The identity of the application sending the message"
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxDeliveryCount"
                      },
                      "model": {
                        "type": "Number",
                        "annotations": {
                          "classInformation": {
                            "classname": "java.lang.Integer",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": false,
                            "isFinal": true,
                            "implementedInterfaces": [
                              "java.lang.Comparable"
                            ],
                            "parent": "java.lang.Number",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "int": {}
                        }
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The number of message delivery attempts"
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxGroupID"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The identity of the message group this message is part of"
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxGroupSeq"
                      },
                      "model": {
                        "type": "Number",
                        "annotations": {
                          "classInformation": {
                            "classname": "java.lang.Integer",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": false,
                            "isFinal": true,
                            "implementedInterfaces": [
                              "java.lang.Comparable"
                            ],
                            "parent": "java.lang.Number",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "int": {}
                        }
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The sequence number of this message within the group"
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxProducerTXID"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The transaction identifier of the transaction within which this message was produced"
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxConsumerTXID"
                      },
                      "model": {
                        "type": "String"
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The transaction identifier of the transaction within which this message was consumed"
                          }
                        }
                      }
                    },
                    {
                      "key": {
                        "name": "jmsxRcvTimestamp"
                      },
                      "model": {
                        "type": "Number",
                        "annotations": {
                          "classInformation": {
                            "classname": "java.lang.Long",
                            "hasDefaultConstructor": false,
                            "isInterface": false,
                            "isInstantiable": false,
                            "isAbstract": false,
                            "isFinal": true,
                            "implementedInterfaces": [
                              "java.lang.Comparable"
                            ],
                            "parent": "java.lang.Number",
                            "genericTypes": [],
                            "isMap": false
                          },
                          "int": {}
                        }
                      },
                      "annotations": {
                        "expressionSupport": {
                          "value": "SUPPORTED"
                        },
                        "display": {
                          "displayModel": {
                            "summary": "The time JMS delivered the message to the consumer"
                          }
                        }
                      }
                    }
                  ]
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              }
            ]
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "headers",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extensions.jms.api.message.JmsHeaders",
              "classInformation": {
                "classname": "org.mule.extensions.jms.api.message.JmsHeaders",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "org.mule.jms.commons.api.message.JmsHeaders",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "JmsHeaders"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "destination",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.jms.commons.api.destination.JmsDestination",
                    "classInformation": {
                      "classname": "org.mule.jms.commons.api.destination.JmsDestination",
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "JmsDestination"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "deliveryMode",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "expiration",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "long",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "priority",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "messageId"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "timestamp",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "long",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "correlationId"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "replyTo"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.jms.commons.api.destination.JmsDestination",
                    "classInformation": {
                      "classname": "org.mule.jms.commons.api.destination.JmsDestination",
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "JmsDestination"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "type",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "redelivered"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "default": "false",
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "deliveryTime"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Long",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": false,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Comparable"
                      ],
                      "parent": "java.lang.Number",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "destination",
                  "required": "true"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.jms.commons.api.destination.JmsDestination",
                    "classInformation": {
                      "classname": "org.mule.jms.commons.api.destination.JmsDestination",
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "JmsDestination"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "deliveryMode",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "expiration",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "long",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "priority",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "messageId"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "timestamp",
                  "required": "true"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "long",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "correlationId"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "replyTo"
                },
                "model": {
                  "type": "Object",
                  "annotations": {
                    "typeId": "org.mule.jms.commons.api.destination.JmsDestination",
                    "classInformation": {
                      "classname": "org.mule.jms.commons.api.destination.JmsDestination",
                      "hasDefaultConstructor": false,
                      "isInterface": true,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": false,
                      "implementedInterfaces": [
                        "java.io.Serializable"
                      ],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "typeAlias": {
                      "value": "JmsDestination"
                    }
                  },
                  "fields": []
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "type",
                  "required": "true"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "redelivered"
                },
                "model": {
                  "type": "Boolean",
                  "annotations": {
                    "typeId": "boolean"
                  }
                },
                "annotations": {
                  "default": "false",
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              },
              {
                "key": {
                  "name": "deliveryTime"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "java.lang.Long",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": false,
                      "isFinal": true,
                      "implementedInterfaces": [
                        "java.lang.Comparable"
                      ],
                      "parent": "java.lang.Number",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "expressionSupport": {
                    "value": "SUPPORTED"
                  }
                }
              }
            ]
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "ackId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extensions.jms.api.message.JmsxProperties",
        "classInformation": {
          "classname": "org.mule.extensions.jms.api.message.JmsxProperties",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "org.mule.jms.commons.api.message.JmsxProperties",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "JmsxProperties"
        }
      },
      "fields": [
        {
          "key": {
            "name": "jmsxUserID"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The identity of the user sending the message"
              }
            }
          }
        },
        {
          "key": {
            "name": "jmsxAppID"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The identity of the application sending the message"
              }
            }
          }
        },
        {
          "key": {
            "name": "jmsxDeliveryCount"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The number of message delivery attempts"
              }
            }
          }
        },
        {
          "key": {
            "name": "jmsxGroupID"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The identity of the message group this message is part of"
              }
            }
          }
        },
        {
          "key": {
            "name": "jmsxGroupSeq"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The sequence number of this message within the group"
              }
            }
          }
        },
        {
          "key": {
            "name": "jmsxProducerTXID"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The transaction identifier of the transaction within which this message was produced"
              }
            }
          }
        },
        {
          "key": {
            "name": "jmsxConsumerTXID"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The transaction identifier of the transaction within which this message was consumed"
              }
            }
          }
        },
        {
          "key": {
            "name": "jmsxRcvTimestamp"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Long",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The time JMS delivered the message to the consumer"
              }
            }
          }
        }
      ]
    }
  ]
}
