Browse Source
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@598 50f2f4bb-b051-0410-bef5-90022cba6387pull/1/head
10 changed files with 479 additions and 69 deletions
@ -1,2 +1,3 @@
@@ -1,2 +1,3 @@
|
||||
http\://www.springframework.org/schema/jms/spring-jms-2.5.xsd=org/springframework/jms/config/spring-jms-2.5.xsd |
||||
http\://www.springframework.org/schema/jms/spring-jms.xsd=org/springframework/jms/config/spring-jms-2.5.xsd |
||||
http\://www.springframework.org/schema/jms/spring-jms-3.0.xsd=org/springframework/jms/config/spring-jms-3.0.xsd |
||||
http\://www.springframework.org/schema/jms/spring-jms.xsd=org/springframework/jms/config/spring-jms-3.0.xsd |
||||
|
||||
@ -0,0 +1,442 @@
@@ -0,0 +1,442 @@
|
||||
<?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"/> |
||||
|
||||
<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. |
||||
The "102" suffix adapts to a JMS provider that implements JMS 1.0.2 only. |
||||
]]></xsd:documentation> |
||||
</xsd:annotation> |
||||
<xsd:simpleType> |
||||
<xsd:restriction base="xsd:NMTOKEN"> |
||||
<xsd:enumeration value="default"/> |
||||
<xsd:enumeration value="default102"/> |
||||
<xsd:enumeration value="simple"/> |
||||
<xsd:enumeration value="simple102"/> |
||||
</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="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: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: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> |
||||
Loading…
Reference in new issue