+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-
-<xsd:schema xmlns="http://www.springframework.org/schema/jms"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:tool="http://www.springframework.org/schema/tool"
- targetNamespace="http://www.springframework.org/schema/jms"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified">
-
- <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-3.0.xsd"/>
-
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Defines the configuration elements for the Spring Framework's JMS support.
- Allows for configuring JMS listener containers in XML 'shortcut' style.
- ]]></xsd:documentation>
- </xsd:annotation>
-
- <xsd:element name="listener-container">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Each listener child element will be hosted by a container whose configuration
- is determined by this parent element. This variant builds standard JMS
- listener containers, operating against a specified JMS ConnectionFactory.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:exports type="org.springframework.jms.listener.AbstractMessageListenerContainer"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="listener" type="listenerType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="container-type" default="default">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The type of this listener container: "default" or "simple", choosing
- between DefaultMessageListenerContainer and SimpleMessageListenerContainer.
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="default"/>
- <xsd:enumeration value="simple"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="container-class" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A custom listener container implementation class as fully qualified class name.
- Default is Spring's standard DefaultMessageListenerContainer or
- SimpleMessageListenerContainer, according to the "container-type" attribute.
- Note that a custom container class will typically be a subclass of either of
- those two Spring-provided standard container classes: Nake sure that the
- "container-type" attribute matches the actual base type that the custom class
- derives from ("default" will usually be fine anyway, since most custom classes
- will derive from DefaultMessageListenerContainer).
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:expected-type type="java.lang.Class"/>
- <tool:assignable-to type="org.springframework.jms.listener.AbstractMessageListenerContainer"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="connection-factory" type="xsd:string" default="connectionFactory">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to the JMS ConnectionFactory bean.
- Default is "connectionFactory".
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="javax.jms.ConnectionFactory"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="task-executor" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to a Spring TaskExecutor (or standard JDK 1.5 Executor) for executing
- JMS listener invokers. Default is a SimpleAsyncTaskExecutor in case of a
- DefaultMessageListenerContainer, using internally managed threads. For a
- SimpleMessageListenerContainer, listeners will always get invoked within the
- JMS provider's receive thread by default.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="java.util.concurrent.Executor"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="destination-resolver" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to the DestinationResolver strategy for resolving destination names.
- Default is a DynamicDestinationResolver, using the JMS provider's queue/topic
- name resolution. Alternatively, specify a reference to a JndiDestinationResolver
- (typically in a J2EE environment).
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="org.springframework.jms.support.destination.DestinationResolver"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="message-converter" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to the MessageConverter strategy for converting JMS Messages to
- listener method arguments. Default is a SimpleMessageConverter.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="org.springframework.jms.support.converter.MessageConverter"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="error-handler" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to an ErrorHandler strategy for handling any uncaught Exceptions
- that may occur during the execution of the MessageListener.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="org.springframework.util.ErrorHandler"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="destination-type" default="queue">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The JMS destination type for this listener: "queue", "topic" or "durableTopic".
- The default is "queue".
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="queue"/>
- <xsd:enumeration value="topic"/>
- <xsd:enumeration value="durableTopic"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="client-id" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The JMS client id for this listener container.
- Needs to be specified when using durable subscriptions.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="cache" default="auto">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The cache level for JMS resources: "none", "connection", "session", "consumer"
- or "auto". By default ("auto"), the cache level will effectively be "consumer",
- unless an external transaction manager has been specified - in which case the
- effective default will be "none" (assuming J2EE-style transaction management
- where the given ConnectionFactory is an XA-aware pool).
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="none"/>
- <xsd:enumeration value="connection"/>
- <xsd:enumeration value="session"/>
- <xsd:enumeration value="consumer"/>
- <xsd:enumeration value="auto"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="acknowledge" default="auto">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The native JMS acknowledge mode: "auto", "client", "dups-ok" or "transacted".
- A value of "transacted" effectively activates a locally transacted Session;
- as alternative, specify an external "transaction-manager" via the corresponding
- attribute. Default is "auto".
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="auto"/>
- <xsd:enumeration value="client"/>
- <xsd:enumeration value="dups-ok"/>
- <xsd:enumeration value="transacted"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="transaction-manager" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to an external PlatformTransactionManager (typically an
- XA-based transaction coordinator, e.g. Spring's JtaTransactionManager).
- If not specified, native acknowledging will be used (see "acknowledge" attribute).
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="concurrency" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The number of concurrent sessions/consumers to start for each listener.
- Can either be a simple number indicating the maximum number (e.g. "5")
- or a range indicating the lower as well as the upper limit (e.g. "3-5").
- Note that a specified minimum is just a hint and might be ignored at runtime.
- Default is 1; keep concurrency limited to 1 in case of a topic listener
- or if message ordering is important; consider raising it for general queues.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="prefetch" type="xsd:int">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The maximum number of messages to load into a single session.
- Note that raising this number might lead to starvation of concurrent consumers!
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="phase" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The lifecycle phase within which this container should start and stop. The lower
- the value the earlier this container will start and the later it will stop. The
- default is Integer.MAX_VALUE meaning the container will start as late as possible
- and stop as soon as possible.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="jca-listener-container">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- Each listener child element will be hosted by a container whose configuration
- is determined by this parent element. This variant builds standard JCA-based
- listener containers, operating against a specified JCA ResourceAdapter
- (which needs to be provided by the JMS message broker, e.g. ActiveMQ).
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation>
- <tool:exports type="org.springframework.jms.listener.endpoint.JmsMessageEndpointManager"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="listener" type="listenerType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="resource-adapter" type="xsd:string" default="resourceAdapter">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to the JCA ResourceAdapter bean for the JMS provider.
- Default is "resourceAdapter".
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="javax.resource.spi.ResourceAdapter"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="activation-spec-factory" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to the JmsActivationSpecFactory.
- Default is to autodetect the JMS provider and its ActivationSpec class
- (see DefaultJmsActivationSpecFactory).
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="org.springframework.jms.listener.endpoint.JmsActivationSpecFactory"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="destination-resolver" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to the DestinationResolver strategy for resolving destination names.
- Default is to pass in the destination name Strings into the JCA ActivationSpec as-is.
- Alternatively, specify a reference to a JndiDestinationResolver (typically in a J2EE
- environment, in particular if the server insists on receiving Destination objects).
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="org.springframework.jms.support.destination.DestinationResolver"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="message-converter" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to the MessageConverter strategy for converting JMS Messages to
- listener method arguments. Default is a SimpleMessageConverter.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref">
- <tool:expected-type type="org.springframework.jms.support.converter.MessageConverter"/>
- </tool:annotation>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="destination-type" default="queue">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The JMS destination type for this listener: "queue", "topic" or "durableTopic".
- Default is "queue".
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="queue"/>
- <xsd:enumeration value="topic"/>
- <xsd:enumeration value="durableTopic"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="client-id" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The JMS client id for this listener container.
- Needs to be specified when using durable subscriptions.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="acknowledge" default="auto">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The native JMS acknowledge mode: "auto", "client", "dups-ok" or "transacted".
- A value of "transacted" effectively activates a locally transacted Session;
- as alternative, specify an external "transaction-manager" via the corresponding
- attribute. Default is "auto".
- ]]></xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:NMTOKEN">
- <xsd:enumeration value="auto"/>
- <xsd:enumeration value="client"/>
- <xsd:enumeration value="dups-ok"/>
- <xsd:enumeration value="transacted"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="transaction-manager" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- A reference to the Spring JtaTransactionManager or [javax.transaction.TransactionManager],
- for kicking off an XA transaction for each incoming message.
- If not specified, native acknowledging will be used (see "acknowledge" attribute).
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref"/>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="concurrency" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The number of concurrent sessions/consumers to start for each listener.
- Can either be a simple number indicating the maximum number (e.g. "5")
- or a range indicating the lower as well as the upper limit (e.g. "3-5").
- Note that a specified minimum is just a hint and will typically be ignored
- at runtime when using a JCA listener container. Default is 1.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="prefetch" type="xsd:int">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The maximum number of messages to load into a single session.
- Note that raising this number might lead to starvation of concurrent consumers!
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="phase" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The lifecycle phase within which this container should start and stop. The lower
- the value the earlier this container will start and the later it will stop. The
- default is Integer.MAX_VALUE meaning the container will start as late as possible
- and stop as soon as possible.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="listenerType">
- <xsd:attribute name="id" type="xsd:ID">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The unique identifier for a listener.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="destination" type="xsd:string" use="required">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The destination name for this listener, resolved through the
- container-wide DestinationResolver strategy (if any). Required.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="subscription" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The name for the durable subscription, if any.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="selector" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The JMS message selector for this listener.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="ref" type="xsd:string" use="required">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The bean name of the listener object, implementing
- the MessageListener/SessionAwareMessageListener interface
- or defining the specified listener method. Required.
- ]]></xsd:documentation>
- <xsd:appinfo>
- <tool:annotation kind="ref"/>
- </xsd:appinfo>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="method" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The name of the listener method to invoke. If not specified,
- the target bean is supposed to implement the MessageListener
- or SessionAwareMessageListener interface.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="response-destination" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The name of the default response destination to send response messages to.
- This will be applied in case of a request message that does not carry
- a "JMSReplyTo" field. The type of this destination will be determined
- by the listener-container's "destination-type" attribute.
- Note: This only applies to a listener method with a return value,
- for which each result object will be converted into a response message.
- ]]></xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- </xsd:complexType>
-
-</xsd:schema>