| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <xsd:schema xmlns="http://www.mulesource.org/schema/mule/jms/2.1" |
| xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| xmlns:mule="http://www.mulesource.org/schema/mule/core/2.1" |
| xmlns:schemadoc="http://www.mulesource.org/schema/mule/schemadoc/2.1" |
| targetNamespace="http://www.mulesource.org/schema/mule/jms/2.1" |
| elementFormDefault="qualified" |
| attributeFormDefault="unqualified"> |
| |
| <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> |
| <xsd:import namespace="http://www.mulesource.org/schema/mule/core/2.1" |
| schemaLocation="IDEADEV_32773.xsd" /> |
| <xsd:import namespace = "http://www.mulesource.org/schema/mule/schemadoc/2.1" |
| schemaLocation = "IDEADEV_32773-schemadoc.xsd"/> |
| |
| <xsd:annotation> |
| <xsd:documentation>The JMS transport provides support for sending messages via JMS queues.</xsd:documentation> |
| <xsd:appinfo> |
| <schemadoc:short-name>JMS</schemadoc:short-name> |
| <schemadoc:page-title>JMS Transport</schemadoc:page-title> |
| <schemadoc:transport-features receiveEvents="true" dispatchEvents="true" responseEvents="true" |
| requestEvents="true" |
| transactions="true" streaming="true"> |
| <schemadoc:inboundMEPs in-only="true" in-optional-out="true" in-out="true"/> |
| <schemadoc:outboundMEPs out-only="true" out-in="true" out-optional-in="true"/> |
| </schemadoc:transport-features> |
| </xsd:appinfo> |
| </xsd:annotation> |
| |
| <!-- Generic JMS Connector --> |
| <xsd:element name="connector" type="genericConnectorType" substitutionGroup="mule:abstract-connector"> |
| <xsd:annotation> |
| <xsd:documentation> |
| A generic connector for sending and receiving messages over JMS queues. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:complexType name="genericConnectorType"> |
| <xsd:complexContent> |
| <xsd:extension base="mule:connectorType"> |
| <!-- The ConnectionFactory is required for non-vendor JMS configs --> |
| <xsd:attribute name="connectionFactory-ref" type="xsd:NMTOKEN"/> |
| <xsd:attributeGroup ref="jmsConnectorAttributes"/> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| |
| <!-- Custom JMS Connector --> |
| <xsd:element name="custom-connector" substitutionGroup="mule:abstract-connector"> |
| <xsd:complexType> |
| <xsd:complexContent> |
| <xsd:extension base="mule:customConnectorType"> |
| <xsd:attributeGroup ref="jmsConnectorAttributes"/> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:attributeGroup name="jmsConnectorAttributes"> |
| <xsd:attribute name="redeliveryHandlerFactory-ref" type="xsd:NMTOKEN"/> |
| <xsd:attribute name="acknowledgementMode" default="AUTO_ACKNOWLEDGE"> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:NMTOKEN"> |
| <xsd:enumeration value="AUTO_ACKNOWLEDGE"/> |
| <xsd:enumeration value="CLIENT_ACKNOWLEDGE"/> |
| <xsd:enumeration value="DUPS_OK_ACKNOWLEDGE"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:attribute> |
| <xsd:attribute name="clientId" type="xsd:string"/> |
| <xsd:attribute name="durable" type="mule:substitutableBoolean"/> |
| <xsd:attribute name="noLocal" type="mule:substitutableBoolean"/> |
| <xsd:attribute name="persistentDelivery" type="mule:substitutableBoolean"/> |
| <xsd:attribute name="honorQosHeaders" type="mule:substitutableBoolean"/> |
| <xsd:attribute name="maxRedelivery" type="mule:substitutableInt"/> |
| <xsd:attribute name="cacheJmsSessions" type="mule:substitutableBoolean"/> |
| <xsd:attribute name="recoverJmsConnections" type="mule:substitutableBoolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Deprecated. This attribute is no longer relevant for the new retry policies. See MULE-3812 |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="eagerConsumer" type="mule:substitutableBoolean"/> |
| <!-- Defaults to org.mule.transport.jms.JmsConstants.JMS_SPECIFICATION_102B --> |
| <xsd:attribute name="specification" default="1.0.2b"> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:NMTOKEN"> |
| <xsd:enumeration value="1.0.2b"/> |
| <xsd:enumeration value="1.1"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:attribute> |
| <xsd:attribute name="username" type="xsd:string"/> |
| <xsd:attribute name="password" type="xsd:string"/> |
| <xsd:attribute name="numberOfConsumers" type="mule:substitutableInt"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Configures the number of concurrent consumers that will be used to receive JMS messages. |
| (Note: If you use this attribute you should not configure the 'numberOfConcurrentTransactedReceivers' which has the same effect.) |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="jndiInitialFactory" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Configures the initial factory class to use when connecting to JNDI. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="jndiProviderUrl" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Configures the URL to use when connecting to JNDI. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="jndiProviderProperties-ref" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Configures a reference to a Map that contains additional provider properties. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="connectionFactoryJndiName" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Configures the name to use when looking up the connection factory from JNDI. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="jndiDestinations" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| Set this to true if you want to lookup queues or topics from JNDI instead of |
| creating them from the session. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="forceJndiDestinations" type="xsd:boolean"> |
| <xsd:annotation> |
| <xsd:documentation> |
| If this is set to true, Mule to fails when a topic or queue cannot be retrieved |
| from JNDI. If this is set to false, Mule will create a topic or queue from the |
| JMS session if the JNDI lookup fails. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:attributeGroup> |
| |
| |
| <!-- Vendor-specific JMS Connectors --> |
| |
| <xsd:complexType name="vendorJmsConnectorType"> |
| <xsd:complexContent> |
| <xsd:extension base="mule:connectorType"> |
| <!-- Optional, a default ConnectionFactory is provided for vendor JMS configs --> |
| <xsd:attribute name="connectionFactory-ref" type="xsd:NMTOKEN" use="optional"/> |
| <xsd:attributeGroup ref="jmsConnectorAttributes"/> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| |
| <xsd:element name="activemq-connector" type="activeMqConnectorType" substitutionGroup="mule:abstract-connector"/> |
| <xsd:element name="activemq-xa-connector" type="activeMqConnectorType" substitutionGroup="mule:abstract-connector"/> |
| <xsd:complexType name="activeMqConnectorType"> |
| <xsd:complexContent> |
| <xsd:extension base="vendorJmsConnectorType"> |
| <xsd:attribute name="brokerURL" type="xsd:string"/> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| |
| <xsd:element name="weblogic-connector" type="vendorJmsConnectorType" substitutionGroup="mule:abstract-connector"/> |
| <xsd:element name="websphere-connector" type="vendorJmsConnectorType" substitutionGroup="mule:abstract-connector"/> |
| |
| <xsd:element name="transaction" type="mule:baseTransactionType" substitutionGroup="mule:abstract-transaction"/> |
| <xsd:element name="client-ack-transaction" type="mule:baseTransactionType" substitutionGroup="mule:abstract-transaction"/> |
| |
| <xsd:element name="jmsmessage-to-object-transformer" type="mule:abstractTransformerType" substitutionGroup="mule:abstract-transformer"/> |
| <xsd:element name="object-to-jmsmessage-transformer" type="mule:abstractTransformerType" substitutionGroup="mule:abstract-transformer"/> |
| |
| <xsd:element name="inbound-endpoint" type="inboundEndpointType" substitutionGroup="mule:abstract-inbound-endpoint"/> |
| <xsd:complexType name="inboundEndpointType"> |
| <xsd:complexContent> |
| <xsd:extension base="mule:abstractInboundEndpointType"> |
| <xsd:group ref="defaultEndpointElements"/> |
| <xsd:attributeGroup ref="mule:defaultEndpointAttributes"/> |
| <xsd:attributeGroup ref="addressAttributes"/> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| |
| <xsd:element name="outbound-endpoint" type="outboundEndpointType" substitutionGroup="mule:abstract-outbound-endpoint"/> |
| <xsd:complexType name="outboundEndpointType"> |
| <xsd:complexContent> |
| <xsd:extension base="mule:abstractOutboundEndpointType"> |
| <xsd:group ref="defaultEndpointElements"/> |
| <xsd:attributeGroup ref="mule:defaultEndpointAttributes"/> |
| <xsd:attributeGroup ref="addressAttributes"/> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| |
| <xsd:element name="endpoint" type="globalEndpointType" substitutionGroup="mule:abstract-global-endpoint"/> |
| <xsd:complexType name="globalEndpointType"> |
| <xsd:complexContent> |
| <xsd:extension base="mule:abstractGlobalEndpointType"> |
| <xsd:group ref="defaultEndpointElements"/> |
| <xsd:attributeGroup ref="mule:defaultEndpointAttributes"/> |
| <xsd:attributeGroup ref="addressAttributes"/> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| |
| <xsd:attributeGroup name="addressAttributes"> |
| <xsd:attribute name="queue" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The queue name. |
| This cannot be used with the topic attribute (the two are exclusive). |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="topic" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| The topic name. The "topic:" prefix will be added automatically. |
| This cannot be used with the queue attribute (the two are exclusive). |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:attributeGroup> |
| |
| <!-- these include option/repeats - should be embedded once --> |
| <!-- this is a modified version of what is in mule.xsd, allowing either a selector or a |
| normal filter to be set --> |
| <xsd:group name="defaultEndpointElements"> |
| <xsd:sequence> |
| <xsd:sequence minOccurs="0" maxOccurs="unbounded"> |
| <xsd:group ref="mule:endpointTransformers"/> |
| <xsd:element ref="mule:abstract-transaction" minOccurs="0"/> |
| <xsd:element ref="mule:abstract-xa-transaction" minOccurs="0"/> |
| <xsd:choice> |
| <xsd:element ref="mule:abstract-filter" minOccurs="0"/> |
| <xsd:element name="selector" type="jmsSelectorFilter" minOccurs="0"/> |
| </xsd:choice> |
| <xsd:element ref="mule:abstract-security-filter" minOccurs="0"/> |
| <xsd:group ref="mule:propertiesGroup"/> |
| </xsd:sequence> |
| </xsd:sequence> |
| </xsd:group> |
| |
| <xsd:complexType name="jmsSelectorFilter"> |
| <xsd:annotation> |
| <xsd:documentation> |
| This sets a selector on the underlying JMS transport. |
| It is not a standard Mule filter and cannot be combined with other filters. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:attribute name="expression" type="xsd:string"/> |
| </xsd:complexType> |
| |
| <xsd:element name="property-filter" substitutionGroup="mule:abstract-filter"> |
| <xsd:complexType> |
| <xsd:complexContent> |
| <xsd:extension base="mule:abstractFilterType"> |
| <xsd:attribute name="propertyName" type="xsd:string"/> |
| <xsd:attribute name="propertyClass" type="xsd:string"/> |
| <xsd:attribute name="expression" type="xsd:string"/> |
| <xsd:attribute name="pattern" type="xsd:string"/> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| </xsd:element> |
| |
| </xsd:schema> |