INT-3418: xsd-4.0 -> 4.1

This commit is contained in:
Artem Bilan
2014-05-30 21:03:12 +03:00
parent c0ab912c49
commit 77b31f58fd
56 changed files with 854 additions and 17161 deletions

View File

@@ -1,840 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.springframework.org/schema/integration/redis"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:tool="http://www.springframework.org/schema/tool"
xmlns:integration="http://www.springframework.org/schema/integration"
targetNamespace="http://www.springframework.org/schema/integration/redis"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import namespace="http://www.springframework.org/schema/beans" />
<xsd:import namespace="http://www.springframework.org/schema/integration"
schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd" />
<xsd:annotation>
<xsd:documentation><![CDATA[
Defines the configuration elements for Spring Integration Redis Adapters and Channels.
]]></xsd:documentation>
</xsd:annotation>
<xsd:element name="publish-subscribe-channel">
<xsd:annotation>
<xsd:documentation>
Defines a publish-subscribe Message Channel that is backed by a Redis topic.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="channelType">
<xsd:attribute name="topic-name" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>
Name of the Redis topic that backs this channel.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="channelType">
<xsd:annotation>
<xsd:documentation><![CDATA[
Base type for Redis backed Message Channels (either 'channel' for a
list-backed channel or 'publish-subscribe-channel' for a topic-backed channel).
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation>
<tool:exports type="org.springframework.integration.channel.AbstractMessageChannel"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="interceptors" type="integration:channelInterceptorsType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[
A list of ChannelInterceptor instances to be applied to this channel.
]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>
ID for this channel. Required.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="connection-factory" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Reference to a RedisConnectionFactory. If none is provided, the default
bean name for the reference will be "redisConnectionFactory".
</xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.connection.RedisConnectionFactory"/>
</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
Redis listener invokers. Default is a SimpleAsyncTaskExecutor.
]]></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="message-converter" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
A reference to the MessageConverter strategy for converting between Redis Messages
and the Spring Integration Message payloads. Default is a SimpleMessageConverter.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.support.converter.MessageConverter"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="serializer" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
A reference to the RedisSerializer strategy
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attributeGroup ref="integration:subscribersAttributeGroup" />
</xsd:complexType>
<xsd:element name="inbound-channel-adapter">
<xsd:annotation>
<xsd:documentation>
Defines an inbound Channel Adapter for subscribing to a Redis topic.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attributeGroup ref="integration:channelAdapterAttributes"/>
<xsd:attribute name="connection-factory" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Reference to a RedisConnectionFactory. If none is provided, the default
bean name for the reference will be "redisConnectionFactory".
</xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.connection.RedisConnectionFactory"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="topics" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Redis topic names as a comma-delimited list of Strings.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="topic-patterns" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Redis topic patterns as a comma-delimited list of Strings.
</xsd:documentation>
</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 between Redis Messages
and the Spring Integration Message payloads. Default is a SimpleMessageConverter.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.support.converter.MessageConverter"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="error-channel" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Identifies channel that error messages will be sent to if a failure occurs in this
gateway's invocation. If no "error-channel" reference is provided, this gateway will
propagate Exceptions to the caller. To completely suppress Exceptions, provide a
reference to the "nullChannel" here.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer.
This attribute can be an empty string, which results in 'null' being used by the underlying adapter,
meaning no serializer is used and the raw byte[] will be the message payload.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="outbound-channel-adapter">
<xsd:annotation>
<xsd:documentation>
Defines an outbound Redis Message-sending Channel Adapter.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="redisAdapterType">
<xsd:sequence>
<xsd:element ref="integration:poller" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="topic" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the Redis topic.
This attribute is mutually exclusive with the 'topic-expression' attribute.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="topic-expression" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the SpEL expression to determine the Redis topic using the Message at runtime.
This attribute is mutually exclusive with the 'topic' attribute.
]]></xsd:documentation>
</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 between Redis Messages
and the Spring Integration Message payloads. Default is a SimpleMessageConverter.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.support.converter.MessageConverter"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="order" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the order for invocation when this adapter is connected as a
subscriber to a SubscribableChannel.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="store-inbound-channel-adapter">
<xsd:annotation>
<xsd:documentation>
Defines Redis inbound channel adapter that creates a Message which contains
a view into a redis store. THe view could be one of the subclasses of
org.springframework.data.redis.support.collections.RedisStore
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="redisCollectionInboundAdapterType">
<xsd:attribute name="collection-type">
<xsd:annotation>
<xsd:documentation>
Collection type supported by this adapter
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:union memberTypes="redisTypeEnumeration xsd:string"/>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="store-outbound-channel-adapter">
<xsd:annotation>
<xsd:documentation>
Defines Redis outbound channel adapter that writes the contents of the Message into
org.springframework.data.redis.support.collections.RedisStore
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="redisAdapterType">
<xsd:attributeGroup ref="storeAdapterAttributeGroup"/>
<xsd:attribute name="redis-template" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
RedisTemplate to be used with this adapter
</xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.core.RedisTemplate"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="queue-inbound-channel-adapter">
<xsd:annotation>
<xsd:documentation>
Defines a Message Driven Endpoint for listening a Redis queue.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="redisAdapterType">
<xsd:attribute name="queue" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>
Redis queue name.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="error-channel" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Identifies the channel to which error messages will be sent if a failure occurs in this
Endpoint's process. If no "error-channel" reference is provided, this Endpoint will
propagate Exceptions to the caller. To completely suppress Exceptions, provide a
reference to the "nullChannel" here.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer.
It can be specified as an empty String value, which means the Endpoint's 'serializer' property is
set to 'null', in which case the Message will contain the raw byte[] payload.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="receive-timeout" type="xsd:string" default="1000">
<xsd:annotation>
<xsd:documentation>
Specify the timeout in milliseconds to wait for the result of the
'rightPop' operation on Redis queue.
Default is 1 second.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="recovery-interval" type="xsd:string" default="5000">
<xsd:annotation>
<xsd:documentation>
Specify the time in milliseconds for which the listener task should sleep after catching
an Exception on a Redis operation, before restarting the listener task.
Default is 5 seconds.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="expect-message" type="xsd:string" default="false">
<xsd:annotation>
<xsd:documentation>
When true, specifies that the 'byte[]' from a Redis message should be deserialized
as an entire Spring Integration Message. Otherwise the data becomes just the
payload of the message (deserialized or not).
If this attribute is 'true', the 'serializer' must not be an empty String.
Default is 'false'.
</xsd:documentation>
</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
the listening task on the Redis queue. Default is a SimpleAsyncTaskExecutor.
]]></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:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="queue-outbound-channel-adapter">
<xsd:annotation>
<xsd:documentation>
Defines an outbound Redis Queue Message-sending Channel Adapter.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="redisAdapterType">
<xsd:sequence>
<xsd:element ref="integration:poller" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="queue" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the name of the Redis queue.
This attribute is mutually exclusive with 'queue-expression' attribute.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="queue-expression" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the expression to determine the name of the Redis queue
against the Message at runtime.
This attribute is mutually exclusive with 'queue' attribute.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="order" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the order for invocation when this adapter is connected as a
subscriber to a SubscribableChannel.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="extract-payload" type="xsd:string" default="true">
<xsd:annotation>
<xsd:documentation>
Specifies if the Message payload or the entire (serialized) Message will be send to the Redis queue.
Default is 'true'.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="outbound-gateway">
<xsd:annotation>
<xsd:documentation>
Defines an outbound Redis Command Sending Gateway.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="2">
<xsd:element ref="integration:poller" minOccurs="0" maxOccurs="1"/>
<xsd:element name="request-handler-advice-chain" type="integration:adviceChainType" minOccurs="0" maxOccurs="1" />
</xsd:choice>
<xsd:attributeGroup ref="integration:smartLifeCycleAttributeGroup"/>
<xsd:attribute name="connection-factory" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Reference to a RedisConnectionFactory. If none is provided, the default
bean name for the reference will be "redisConnectionFactory".
Mutually exclusive with 'redis-template' attribute.
</xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.connection.RedisConnectionFactory"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="redis-template" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
RedisTemplate to be used with this gateway.
Mutually exclusive with 'connection-factory' attribute.
</xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.core.RedisTemplate"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="request-channel" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.messaging.MessageChannel"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="requires-reply" type="xsd:string" use="optional" default="true">
<xsd:annotation>
<xsd:documentation>
Specify whether this outbound gateway must return a non-null value. This value is
'false' by default, otherwise a ReplyRequiredException will be thrown when
the underlying service returns a null value.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="reply-channel" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.messaging.MessageChannel"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="reply-timeout" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Allows you to specify how long this gateway will wait for
the reply message to be sent successfully to the reply channel
before throwing an exception. This attribute only applies when the
channel might block, for example when using a bounded queue channel that
is currently full.
Also, keep in mind that when sending to a DirectChannel, the
invocation will occur in the sender's thread. Therefore,
the failing of the send operation may be caused by other
components further downstream.
The "reply-timeout" attribute maps to the "sendTimeout" property of the
underlying 'MessagingTemplate' instance (org.springframework.integration.core.MessagingTemplate).
The attribute will default, if not specified, to '-1', meaning that
by default, the Gateway will wait indefinitely. The value is
specified in milliseconds.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="order" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the order for invocation when this adapter is connected as a
subscriber to a SubscribableChannel.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="arguments-serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer.
Used to serialize each command argument to byte[] if necessary.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="command-expression" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
SpEL expression that returns the command key. Default is the 'redis_command' message header.
The command must not be evaluated to 'null'.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="argument-expressions" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Comma-separated SpEL expressions that will be evaluated as command arguments.
Mutually exclusive with the 'arguments-strategy' attribute. If 'use-command-variable' is
specified to 'true', the '#cmd' variable will be presented within evaluation context.
Argument expressions may evaluate to 'null', to support a variable number of arguments.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="use-command-variable" type="xsd:string" default="false">
<xsd:annotation>
<xsd:documentation>
Specifies, if the evaluated Redis command string will be made available
as the '#cmd' variable in the SpEL evaluation context in the
org.springframework.integration.redis.outbound.ExpressionArgumentsStrategy
when 'argument-expressions' is
configured, otherwise this attribute is ignored.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="arguments-strategy" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.integration.redis.outbound.ArgumentsStrategy.
Mutually exclusive with the 'argument-expressions' attribute. By default the 'payload' is used
as the command argument(s). To disable any strategy (no arguments) this attribute should be
configured as an empty string.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.redis.outbound.ArgumentsStrategy"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="redisAdapterType">
<xsd:annotation>
<xsd:documentation>
Common configuration for Redis adapters.
</xsd:documentation>
</xsd:annotation>
<xsd:attributeGroup ref="integration:channelAdapterAttributes"/>
<xsd:attribute name="connection-factory" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.connection.RedisConnectionFactory"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="redisCollectionInboundAdapterType">
<xsd:complexContent>
<xsd:extension base="redisAdapterType">
<xsd:sequence>
<xsd:element ref="integration:poller" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="redis-template" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
RedisTemplate to be used with this adapter
</xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.core.RedisTemplate"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="key-expression" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
SpEL expression that returns the name of the key for the collection being used. If you want to provide a
constant key, use the 'key' attribute.
This attribute is mutually exclusive with the 'key' attribute.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="key" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The name of the key for the collection being used. If you require a key to be dynamically
determined per each poll use 'key-expression' attribute.
This attribute is mutually exclusive with the 'key-expression' attribute.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="key-serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer
to serialize the 'key' value for this collection. Please refer to the JavaDoc of the RedisTemplate
for more detail.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="value-serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer
to serialize the 'value' entered into the collection. Please refer to the JavaDoc of the RedisTemplate
for more detail.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="hash-key-serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer
to be used when serializing hash keys (only relevant for hash-typed collections).
Please refer to the JavaDoc of the RedisTemplate for more detail.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="hash-value-serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer
to be used when serializing hash values (only relevant for hash-typed collections).
Please refer to the JavaDoc of the RedisTemplate for more detail.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="error-channel" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Channel to which Error Messages will be sent.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.messaging.MessageChannel"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:attributeGroup name="storeAdapterAttributeGroup">
<xsd:attribute name="key" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Provide the name of the key for the collection being used. If you require a key that
is determined dynamically for each message, use the 'key-expression' attribute.
The default key is dynamically determined from the 'redis_key' header.
This attribute is mutually exclusive with the 'key-expression' attribute.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="key-expression" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
SpEL expression that returns the name of the key for the collection being used. If you want to provide a
constant key, use the 'key' attribute. Default is the 'redis_key' message header.
This attribute is mutually exclusive with the 'key' attribute.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="map-key-expression" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
SpEL expression that returns the name of the key for entry being stored. Only applies
if the 'collection-type' is MAP or PROPERTIES and 'extract-payload-elements' is false.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="extract-payload-elements" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
If set to 'true' (Default) and the payload is an instance of a "multi-value" object (i.e., Collection or Map)
it will be stored using addAll/putAll semantics. Otherwise, if set to 'false' the payload will be stored
as single entry regardless of its type.
If the payload is not an instance of a "multi-value" object, the value of this attribute is ignored and
the payload will always be stored as a single entry.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="collection-type">
<xsd:annotation>
<xsd:documentation>
Collection type supported by this adapter
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:union memberTypes="redisTypeEnumeration xsd:string"/>
</xsd:simpleType>
</xsd:attribute>
</xsd:attributeGroup>
<xsd:simpleType name="redisTypeEnumeration">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="LIST">
<xsd:annotation>
<xsd:documentation>
[DEFAULT] Redis List
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="SET">
<xsd:annotation>
<xsd:documentation>
Redis Set
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="ZSET">
<xsd:annotation>
<xsd:documentation>
Redis Sorted Set
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="MAP">
<xsd:annotation>
<xsd:documentation>
Redis Map
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="PROPERTIES">
<xsd:annotation>
<xsd:documentation>
Redis Properties
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

View File

@@ -8,7 +8,7 @@
<xsd:import namespace="http://www.springframework.org/schema/beans" />
<xsd:import namespace="http://www.springframework.org/schema/integration"
schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd" />
schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd" />
<xsd:annotation>
<xsd:documentation><![CDATA[
@@ -278,43 +278,7 @@
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="LIST">
<xsd:annotation>
<xsd:documentation>
[DEFAULT] Redis List
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="SET">
<xsd:annotation>
<xsd:documentation>
Redis Set
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="ZSET">
<xsd:annotation>
<xsd:documentation>
Redis Sorted Set
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="MAP">
<xsd:annotation>
<xsd:documentation>
Redis Map
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="PROPERTIES">
<xsd:annotation>
<xsd:documentation>
Redis Properties
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
<xsd:union memberTypes="redisTypeEnumeration xsd:string"/>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
@@ -499,6 +463,163 @@
</xsd:complexType>
</xsd:element>
<xsd:element name="outbound-gateway">
<xsd:annotation>
<xsd:documentation>
Defines an outbound Redis Command Sending Gateway.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="2">
<xsd:element ref="integration:poller" minOccurs="0" maxOccurs="1"/>
<xsd:element name="request-handler-advice-chain" type="integration:adviceChainType" minOccurs="0" maxOccurs="1" />
</xsd:choice>
<xsd:attributeGroup ref="integration:smartLifeCycleAttributeGroup"/>
<xsd:attribute name="connection-factory" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Reference to a RedisConnectionFactory. If none is provided, the default
bean name for the reference will be "redisConnectionFactory".
Mutually exclusive with 'redis-template' attribute.
</xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.connection.RedisConnectionFactory"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="redis-template" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
RedisTemplate to be used with this gateway.
Mutually exclusive with 'connection-factory' attribute.
</xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.core.RedisTemplate"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="request-channel" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.messaging.MessageChannel"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="requires-reply" type="xsd:string" use="optional" default="true">
<xsd:annotation>
<xsd:documentation>
Specify whether this outbound gateway must return a non-null value. This value is
'false' by default, otherwise a ReplyRequiredException will be thrown when
the underlying service returns a null value.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="reply-channel" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.messaging.MessageChannel"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="reply-timeout" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Allows you to specify how long this gateway will wait for
the reply message to be sent successfully to the reply channel
before throwing an exception. This attribute only applies when the
channel might block, for example when using a bounded queue channel that
is currently full.
Also, keep in mind that when sending to a DirectChannel, the
invocation will occur in the sender's thread. Therefore,
the failing of the send operation may be caused by other
components further downstream.
The "reply-timeout" attribute maps to the "sendTimeout" property of the
underlying 'MessagingTemplate' instance (org.springframework.integration.core.MessagingTemplate).
The attribute will default, if not specified, to '-1', meaning that
by default, the Gateway will wait indefinitely. The value is
specified in milliseconds.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="order" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the order for invocation when this adapter is connected as a
subscriber to a SubscribableChannel.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="arguments-serializer" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.data.redis.serializer.RedisSerializer.
Used to serialize each command argument to byte[] if necessary.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.data.redis.serializer.RedisSerializer"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="command-expression" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
SpEL expression that returns the command key. Default is the 'redis_command' message header.
The command must not be evaluated to 'null'.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="argument-expressions" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Comma-separated SpEL expressions that will be evaluated as command arguments.
Mutually exclusive with the 'arguments-strategy' attribute. If 'use-command-variable' is
specified to 'true', the '#cmd' variable will be presented within evaluation context.
Argument expressions may evaluate to 'null', to support a variable number of arguments.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="use-command-variable" type="xsd:string" default="false">
<xsd:annotation>
<xsd:documentation>
Specifies, if the evaluated Redis command string will be made available
as the '#cmd' variable in the SpEL evaluation context in the
org.springframework.integration.redis.outbound.ExpressionArgumentsStrategy
when 'argument-expressions' is
configured, otherwise this attribute is ignored.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="arguments-strategy" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to an instance of org.springframework.integration.redis.outbound.ArgumentsStrategy.
Mutually exclusive with the 'argument-expressions' attribute. By default the 'payload' is used
as the command argument(s). To disable any strategy (no arguments) this attribute should be
configured as an empty string.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.redis.outbound.ArgumentsStrategy"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="redisAdapterType">
<xsd:annotation>
<xsd:documentation>
@@ -671,44 +792,49 @@
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="LIST">
<xsd:annotation>
<xsd:documentation>
[DEFAULT] Redis List
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="SET">
<xsd:annotation>
<xsd:documentation>
Redis Set
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="ZSET">
<xsd:annotation>
<xsd:documentation>
Redis Sorted Set
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="MAP">
<xsd:annotation>
<xsd:documentation>
Redis Map
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="PROPERTIES">
<xsd:annotation>
<xsd:documentation>
Redis Properties
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
<xsd:union memberTypes="redisTypeEnumeration xsd:string"/>
</xsd:simpleType>
</xsd:attribute>
</xsd:attributeGroup>
<xsd:simpleType name="redisTypeEnumeration">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="LIST">
<xsd:annotation>
<xsd:documentation>
[DEFAULT] Redis List
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="SET">
<xsd:annotation>
<xsd:documentation>
Redis Set
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="ZSET">
<xsd:annotation>
<xsd:documentation>
Redis Sorted Set
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="MAP">
<xsd:annotation>
<xsd:documentation>
Redis Map
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="PROPERTIES">
<xsd:annotation>
<xsd:documentation>
Redis Properties
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>