Salome HOME
fa50a57cd6a4596f262f6dc6397bddf4d66d4399
[tools/siman.git] / Workspace / 3dparty_src / spring / schema / spring-jms-3.0.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <xsd:schema xmlns="http://www.springframework.org/schema/jms"
4                 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6                 xmlns:tool="http://www.springframework.org/schema/tool"
7                 targetNamespace="http://www.springframework.org/schema/jms"
8                 elementFormDefault="qualified"
9                 attributeFormDefault="unqualified">
10
11         <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-3.0.xsd"/>
12
13         <xsd:annotation>
14                 <xsd:documentation><![CDATA[
15         Defines the configuration elements for the Spring Framework's JMS support.
16         Allows for configuring JMS listener containers in XML 'shortcut' style.
17                 ]]></xsd:documentation>
18         </xsd:annotation>
19
20         <xsd:element name="listener-container">
21                 <xsd:annotation>
22                         <xsd:documentation><![CDATA[
23         Each listener child element will be hosted by a container whose configuration
24         is determined by this parent element. This variant builds standard JMS
25         listener containers, operating against a specified JMS ConnectionFactory.
26                         ]]></xsd:documentation>
27                         <xsd:appinfo>
28                                 <tool:annotation>
29                                         <tool:exports type="org.springframework.jms.listener.AbstractMessageListenerContainer"/>
30                                 </tool:annotation>      
31                         </xsd:appinfo>
32                 </xsd:annotation>
33                 <xsd:complexType>
34                         <xsd:sequence>
35                                 <xsd:element name="listener" type="listenerType" minOccurs="0" maxOccurs="unbounded"/>
36                         </xsd:sequence>
37                         <xsd:attribute name="container-type" default="default">
38                                 <xsd:annotation>
39                                         <xsd:documentation><![CDATA[
40         The type of this listener container: "default" or "simple", choosing
41         between DefaultMessageListenerContainer and SimpleMessageListenerContainer.
42                                         ]]></xsd:documentation>
43                                 </xsd:annotation>
44                                 <xsd:simpleType>
45                                         <xsd:restriction base="xsd:NMTOKEN">
46                                                 <xsd:enumeration value="default"/>
47                                                 <xsd:enumeration value="simple"/>
48                                         </xsd:restriction>
49                                 </xsd:simpleType>
50                         </xsd:attribute>
51                         <xsd:attribute name="container-class" type="xsd:string">
52                                 <xsd:annotation>
53                                         <xsd:documentation><![CDATA[
54         A custom listener container implementation class as fully qualified class name.
55         Default is Spring's standard DefaultMessageListenerContainer or
56         SimpleMessageListenerContainer, according to the "container-type" attribute.
57         Note that a custom container class will typically be a subclass of either of
58         those two Spring-provided standard container classes: Nake sure that the
59         "container-type" attribute matches the actual base type that the custom class
60         derives from ("default" will usually be fine anyway, since most custom classes
61         will derive from DefaultMessageListenerContainer).
62                                         ]]></xsd:documentation>
63                                         <xsd:appinfo>
64                                                 <tool:annotation>
65                                                         <tool:expected-type type="java.lang.Class"/>
66                                                         <tool:assignable-to type="org.springframework.jms.listener.AbstractMessageListenerContainer"/>
67                                                 </tool:annotation>
68                                         </xsd:appinfo>
69                                 </xsd:annotation>
70                         </xsd:attribute>
71                         <xsd:attribute name="connection-factory" type="xsd:string" default="connectionFactory">
72                                 <xsd:annotation>
73                                         <xsd:documentation><![CDATA[
74         A reference to the JMS ConnectionFactory bean.
75         Default is "connectionFactory".
76                                         ]]></xsd:documentation>
77                                         <xsd:appinfo>
78                                                 <tool:annotation kind="ref">
79                                                         <tool:expected-type type="javax.jms.ConnectionFactory"/>
80                                                 </tool:annotation>
81                                         </xsd:appinfo>
82                                 </xsd:annotation>
83                         </xsd:attribute>
84                         <xsd:attribute name="task-executor" type="xsd:string">
85                                 <xsd:annotation>
86                                         <xsd:documentation><![CDATA[
87         A reference to a Spring TaskExecutor (or standard JDK 1.5 Executor) for executing
88         JMS listener invokers. Default is a SimpleAsyncTaskExecutor in case of a
89         DefaultMessageListenerContainer, using internally managed threads. For a
90         SimpleMessageListenerContainer, listeners will always get invoked within the
91         JMS provider's receive thread by default.
92                                         ]]></xsd:documentation>
93                                         <xsd:appinfo>
94                                                 <tool:annotation kind="ref">
95                                                         <tool:expected-type type="java.util.concurrent.Executor"/>
96                                                 </tool:annotation>
97                                         </xsd:appinfo>
98                                 </xsd:annotation>
99                         </xsd:attribute>
100                         <xsd:attribute name="destination-resolver" type="xsd:string">
101                                 <xsd:annotation>
102                                         <xsd:documentation><![CDATA[
103         A reference to the DestinationResolver strategy for resolving destination names.
104         Default is a DynamicDestinationResolver, using the JMS provider's queue/topic
105         name resolution. Alternatively, specify a reference to a JndiDestinationResolver
106         (typically in a J2EE environment).
107                                         ]]></xsd:documentation>
108                                         <xsd:appinfo>
109                                                 <tool:annotation kind="ref">
110                                                         <tool:expected-type type="org.springframework.jms.support.destination.DestinationResolver"/>
111                                                 </tool:annotation>
112                                         </xsd:appinfo>
113                                 </xsd:annotation>
114                         </xsd:attribute>
115                         <xsd:attribute name="message-converter" type="xsd:string">
116                                 <xsd:annotation>
117                                         <xsd:documentation><![CDATA[
118         A reference to the MessageConverter strategy for converting JMS Messages to
119         listener method arguments. Default is a SimpleMessageConverter.
120                                         ]]></xsd:documentation>
121                                         <xsd:appinfo>
122                                                 <tool:annotation kind="ref">
123                                                         <tool:expected-type type="org.springframework.jms.support.converter.MessageConverter"/>
124                                                 </tool:annotation>
125                                         </xsd:appinfo>
126                                 </xsd:annotation>
127                         </xsd:attribute>
128                         <xsd:attribute name="error-handler" type="xsd:string">
129                                 <xsd:annotation>
130                                         <xsd:documentation><![CDATA[
131         A reference to an ErrorHandler strategy for handling any uncaught Exceptions
132         that may occur during the execution of the MessageListener.
133                                         ]]></xsd:documentation>
134                                         <xsd:appinfo>
135                                                 <tool:annotation kind="ref">
136                                                         <tool:expected-type type="org.springframework.util.ErrorHandler"/>
137                                                 </tool:annotation>
138                                         </xsd:appinfo>
139                                 </xsd:annotation>
140                         </xsd:attribute>
141                         <xsd:attribute name="destination-type" default="queue">
142                                 <xsd:annotation>
143                                         <xsd:documentation><![CDATA[
144         The JMS destination type for this listener: "queue", "topic" or "durableTopic".
145         The default is "queue".
146                                         ]]></xsd:documentation>
147                                 </xsd:annotation>
148                                 <xsd:simpleType>
149                                         <xsd:restriction base="xsd:NMTOKEN">
150                                                 <xsd:enumeration value="queue"/>
151                                                 <xsd:enumeration value="topic"/>
152                                                 <xsd:enumeration value="durableTopic"/>
153                                         </xsd:restriction>
154                                 </xsd:simpleType>
155                         </xsd:attribute>
156                         <xsd:attribute name="client-id" type="xsd:string">
157                                 <xsd:annotation>
158                                         <xsd:documentation><![CDATA[
159         The JMS client id for this listener container.
160         Needs to be specified when using durable subscriptions.
161                                         ]]></xsd:documentation>
162                                 </xsd:annotation>
163                         </xsd:attribute>
164                         <xsd:attribute name="cache" default="auto">
165                                 <xsd:annotation>
166                                         <xsd:documentation><![CDATA[
167         The cache level for JMS resources: "none", "connection", "session", "consumer"
168         or "auto". By default ("auto"), the cache level will effectively be "consumer",
169         unless an external transaction manager has been specified - in which case the
170         effective default will be "none" (assuming J2EE-style transaction management
171         where the given ConnectionFactory is an XA-aware pool).
172                                         ]]></xsd:documentation>
173                                 </xsd:annotation>
174                                 <xsd:simpleType>
175                                         <xsd:restriction base="xsd:NMTOKEN">
176                                                 <xsd:enumeration value="none"/>
177                                                 <xsd:enumeration value="connection"/>
178                                                 <xsd:enumeration value="session"/>
179                                                 <xsd:enumeration value="consumer"/>
180                                                 <xsd:enumeration value="auto"/>
181                                         </xsd:restriction>
182                                 </xsd:simpleType>
183                         </xsd:attribute>
184                         <xsd:attribute name="acknowledge" default="auto">
185                                 <xsd:annotation>
186                                         <xsd:documentation><![CDATA[
187         The native JMS acknowledge mode: "auto", "client", "dups-ok" or "transacted".
188         A value of "transacted" effectively activates a locally transacted Session;
189         as alternative, specify an external "transaction-manager" via the corresponding
190         attribute. Default is "auto".
191                                         ]]></xsd:documentation>
192                                 </xsd:annotation>
193                                 <xsd:simpleType>
194                                         <xsd:restriction base="xsd:NMTOKEN">
195                                                 <xsd:enumeration value="auto"/>
196                                                 <xsd:enumeration value="client"/>
197                                                 <xsd:enumeration value="dups-ok"/>
198                                                 <xsd:enumeration value="transacted"/>
199                                         </xsd:restriction>
200                                 </xsd:simpleType>
201                         </xsd:attribute>
202                         <xsd:attribute name="transaction-manager" type="xsd:string">
203                                 <xsd:annotation>
204                                         <xsd:documentation><![CDATA[
205         A reference to an external PlatformTransactionManager (typically an
206         XA-based transaction coordinator, e.g. Spring's JtaTransactionManager).
207         If not specified, native acknowledging will be used (see "acknowledge" attribute).
208                                         ]]></xsd:documentation>
209                                         <xsd:appinfo>
210                                                 <tool:annotation kind="ref">
211                                                         <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
212                                                 </tool:annotation>
213                                         </xsd:appinfo>
214                                 </xsd:annotation>
215                         </xsd:attribute>
216                         <xsd:attribute name="concurrency" type="xsd:string">
217                                 <xsd:annotation>
218                                         <xsd:documentation><![CDATA[
219         The number of concurrent sessions/consumers to start for each listener.
220         Can either be a simple number indicating the maximum number (e.g. "5")
221         or a range indicating the lower as well as the upper limit (e.g. "3-5").
222         Note that a specified minimum is just a hint and might be ignored at runtime.
223         Default is 1; keep concurrency limited to 1 in case of a topic listener
224         or if message ordering is important; consider raising it for general queues.
225                                         ]]></xsd:documentation>
226                                 </xsd:annotation>
227                         </xsd:attribute>
228                         <xsd:attribute name="prefetch" type="xsd:int">
229                                 <xsd:annotation>
230                                         <xsd:documentation><![CDATA[
231         The maximum number of messages to load into a single session.
232         Note that raising this number might lead to starvation of concurrent consumers!
233                                         ]]></xsd:documentation>
234                                 </xsd:annotation>
235                         </xsd:attribute>
236                         <xsd:attribute name="phase" type="xsd:string">
237                                 <xsd:annotation>
238                                         <xsd:documentation><![CDATA[
239         The lifecycle phase within which this container should start and stop. The lower
240         the value the earlier this container will start and the later it will stop. The
241         default is Integer.MAX_VALUE meaning the container will start as late as possible
242         and stop as soon as possible.
243                                         ]]></xsd:documentation>
244                                 </xsd:annotation>
245                         </xsd:attribute>
246                 </xsd:complexType>
247         </xsd:element>
248         
249         <xsd:element name="jca-listener-container">
250                 <xsd:annotation>
251                         <xsd:documentation><![CDATA[
252         Each listener child element will be hosted by a container whose configuration
253         is determined by this parent element. This variant builds standard JCA-based
254         listener containers, operating against a specified JCA ResourceAdapter
255         (which needs to be provided by the JMS message broker, e.g. ActiveMQ).
256                         ]]></xsd:documentation>
257                         <xsd:appinfo>
258                                 <tool:annotation>
259                                         <tool:exports type="org.springframework.jms.listener.endpoint.JmsMessageEndpointManager"/>
260                                 </tool:annotation>
261                         </xsd:appinfo>
262                 </xsd:annotation>
263                 <xsd:complexType>
264                         <xsd:sequence>
265                                 <xsd:element name="listener" type="listenerType" minOccurs="0" maxOccurs="unbounded"/>
266                         </xsd:sequence>
267                         <xsd:attribute name="resource-adapter" type="xsd:string" default="resourceAdapter">
268                                 <xsd:annotation>
269                                         <xsd:documentation><![CDATA[
270         A reference to the JCA ResourceAdapter bean for the JMS provider.
271         Default is "resourceAdapter".
272                                         ]]></xsd:documentation>
273                                         <xsd:appinfo>
274                                                 <tool:annotation kind="ref">
275                                                         <tool:expected-type type="javax.resource.spi.ResourceAdapter"/>
276                                                 </tool:annotation>
277                                         </xsd:appinfo>
278                                 </xsd:annotation>
279                         </xsd:attribute>
280                         <xsd:attribute name="activation-spec-factory" type="xsd:string">
281                                 <xsd:annotation>
282                                         <xsd:documentation><![CDATA[
283         A reference to the JmsActivationSpecFactory.
284         Default is to autodetect the JMS provider and its ActivationSpec class
285         (see DefaultJmsActivationSpecFactory).
286                                         ]]></xsd:documentation>
287                                         <xsd:appinfo>
288                                                 <tool:annotation kind="ref">
289                                                         <tool:expected-type type="org.springframework.jms.listener.endpoint.JmsActivationSpecFactory"/>
290                                                 </tool:annotation>
291                                         </xsd:appinfo>
292                                 </xsd:annotation>
293                         </xsd:attribute>
294                         <xsd:attribute name="destination-resolver" type="xsd:string">
295                                 <xsd:annotation>
296                                         <xsd:documentation><![CDATA[
297         A reference to the DestinationResolver strategy for resolving destination names.
298         Default is to pass in the destination name Strings into the JCA ActivationSpec as-is.
299         Alternatively, specify a reference to a JndiDestinationResolver (typically in a J2EE
300         environment, in particular if the server insists on receiving Destination objects).
301                                         ]]></xsd:documentation>
302                                         <xsd:appinfo>
303                                                 <tool:annotation kind="ref">
304                                                         <tool:expected-type type="org.springframework.jms.support.destination.DestinationResolver"/>
305                                                 </tool:annotation>
306                                         </xsd:appinfo>
307                                 </xsd:annotation>
308                         </xsd:attribute>
309                         <xsd:attribute name="message-converter" type="xsd:string">
310                                 <xsd:annotation>
311                                         <xsd:documentation><![CDATA[
312         A reference to the MessageConverter strategy for converting JMS Messages to
313         listener method arguments. Default is a SimpleMessageConverter.
314                                         ]]></xsd:documentation>
315                                         <xsd:appinfo>
316                                                 <tool:annotation kind="ref">
317                                                         <tool:expected-type type="org.springframework.jms.support.converter.MessageConverter"/>
318                                                 </tool:annotation>
319                                         </xsd:appinfo>
320                                 </xsd:annotation>
321                         </xsd:attribute>
322                         <xsd:attribute name="destination-type" default="queue">
323                                 <xsd:annotation>
324                                         <xsd:documentation><![CDATA[
325         The JMS destination type for this listener: "queue", "topic" or "durableTopic".
326         Default is "queue".
327                                         ]]></xsd:documentation>
328                                 </xsd:annotation>
329                                 <xsd:simpleType>
330                                         <xsd:restriction base="xsd:NMTOKEN">
331                                                 <xsd:enumeration value="queue"/>
332                                                 <xsd:enumeration value="topic"/>
333                                                 <xsd:enumeration value="durableTopic"/>
334                                         </xsd:restriction>
335                                 </xsd:simpleType>
336                         </xsd:attribute>
337                         <xsd:attribute name="client-id" type="xsd:string">
338                                 <xsd:annotation>
339                                         <xsd:documentation><![CDATA[
340         The JMS client id for this listener container.
341         Needs to be specified when using durable subscriptions.
342                                         ]]></xsd:documentation>
343                                 </xsd:annotation>
344                         </xsd:attribute>
345                         <xsd:attribute name="acknowledge" default="auto">
346                                 <xsd:annotation>
347                                         <xsd:documentation><![CDATA[
348         The native JMS acknowledge mode: "auto", "client", "dups-ok" or "transacted".
349         A value of "transacted" effectively activates a locally transacted Session;
350         as alternative, specify an external "transaction-manager" via the corresponding
351         attribute. Default is "auto".
352                                         ]]></xsd:documentation>
353                                 </xsd:annotation>
354                                 <xsd:simpleType>
355                                         <xsd:restriction base="xsd:NMTOKEN">
356                                                 <xsd:enumeration value="auto"/>
357                                                 <xsd:enumeration value="client"/>
358                                                 <xsd:enumeration value="dups-ok"/>
359                                                 <xsd:enumeration value="transacted"/>
360                                         </xsd:restriction>
361                                 </xsd:simpleType>
362                         </xsd:attribute>
363                         <xsd:attribute name="transaction-manager" type="xsd:string">
364                                 <xsd:annotation>
365                                         <xsd:documentation><![CDATA[
366         A reference to the Spring JtaTransactionManager or [javax.transaction.TransactionManager],
367         for kicking off an XA transaction for each incoming message.
368         If not specified, native acknowledging will be used (see "acknowledge" attribute).
369                                         ]]></xsd:documentation>
370                                         <xsd:appinfo>
371                                                 <tool:annotation kind="ref"/>
372                                         </xsd:appinfo>
373                                 </xsd:annotation>
374                         </xsd:attribute>
375                         <xsd:attribute name="concurrency" type="xsd:string">
376                                 <xsd:annotation>
377                                         <xsd:documentation><![CDATA[
378         The number of concurrent sessions/consumers to start for each listener.
379         Can either be a simple number indicating the maximum number (e.g. "5")
380         or a range indicating the lower as well as the upper limit (e.g. "3-5").
381         Note that a specified minimum is just a hint and will typically be ignored
382         at runtime when using a JCA listener container. Default is 1.
383                                         ]]></xsd:documentation>
384                                 </xsd:annotation>
385                         </xsd:attribute>
386                         <xsd:attribute name="prefetch" type="xsd:int">
387                                 <xsd:annotation>
388                                         <xsd:documentation><![CDATA[
389         The maximum number of messages to load into a single session.
390         Note that raising this number might lead to starvation of concurrent consumers!
391                                         ]]></xsd:documentation>
392                                 </xsd:annotation>
393                         </xsd:attribute>
394                         <xsd:attribute name="phase" type="xsd:string">
395                                 <xsd:annotation>
396                                         <xsd:documentation><![CDATA[
397         The lifecycle phase within which this container should start and stop. The lower
398         the value the earlier this container will start and the later it will stop. The
399         default is Integer.MAX_VALUE meaning the container will start as late as possible
400         and stop as soon as possible.
401                                         ]]></xsd:documentation>
402                                 </xsd:annotation>
403                         </xsd:attribute>
404                 </xsd:complexType>
405         </xsd:element>
406
407         <xsd:complexType name="listenerType">
408                 <xsd:attribute name="id" type="xsd:ID">
409                         <xsd:annotation>
410                                 <xsd:documentation><![CDATA[
411         The unique identifier for a listener.
412                                 ]]></xsd:documentation>
413                         </xsd:annotation>
414                 </xsd:attribute>
415                 <xsd:attribute name="destination" type="xsd:string" use="required">
416                         <xsd:annotation>
417                                 <xsd:documentation><![CDATA[
418         The destination name for this listener, resolved through the
419         container-wide DestinationResolver strategy (if any). Required.
420                                 ]]></xsd:documentation>
421                         </xsd:annotation>
422                 </xsd:attribute>
423                 <xsd:attribute name="subscription" type="xsd:string">
424                         <xsd:annotation>
425                                 <xsd:documentation><![CDATA[
426         The name for the durable subscription, if any.
427                                 ]]></xsd:documentation>
428                         </xsd:annotation>
429                 </xsd:attribute>
430                 <xsd:attribute name="selector" type="xsd:string">
431                         <xsd:annotation>
432                                 <xsd:documentation><![CDATA[
433         The JMS message selector for this listener.
434                                 ]]></xsd:documentation>
435                         </xsd:annotation>
436                 </xsd:attribute>
437                 <xsd:attribute name="ref" type="xsd:string" use="required">
438                         <xsd:annotation>
439                                 <xsd:documentation><![CDATA[
440         The bean name of the listener object, implementing
441         the MessageListener/SessionAwareMessageListener interface
442         or defining the specified listener method. Required.
443                                 ]]></xsd:documentation>
444                                 <xsd:appinfo>
445                                         <tool:annotation kind="ref"/>
446                                 </xsd:appinfo>
447                         </xsd:annotation>
448                 </xsd:attribute>
449                 <xsd:attribute name="method" type="xsd:string">
450                         <xsd:annotation>
451                                 <xsd:documentation><![CDATA[
452         The name of the listener method to invoke. If not specified,
453         the target bean is supposed to implement the MessageListener
454         or SessionAwareMessageListener interface.
455                                 ]]></xsd:documentation>
456                         </xsd:annotation>
457                 </xsd:attribute>
458                 <xsd:attribute name="response-destination" type="xsd:string">
459                         <xsd:annotation>
460                                 <xsd:documentation><![CDATA[
461         The name of the default response destination to send response messages to.
462         This will be applied in case of a request message that does not carry
463         a "JMSReplyTo" field. The type of this destination will be determined
464         by the listener-container's "destination-type" attribute.
465         Note: This only applies to a listener method with a return value,
466         for which each result object will be converted into a response message.
467                                 ]]></xsd:documentation>
468                         </xsd:annotation>
469                 </xsd:attribute>
470         </xsd:complexType>
471         
472 </xsd:schema>