Add gateway to schema

This commit is contained in:
David Syer
2010-09-01 14:09:02 +00:00
parent 93be55d84d
commit b654e566eb

View File

@@ -1,15 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.springframework.org/schema/integration/jdbc"
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/jdbc"
<xsd:schema xmlns="http://www.springframework.org/schema/integration/jdbc" 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/jdbc"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import namespace="http://www.springframework.org/schema/beans" />
<xsd:import namespace="http://www.springframework.org/schema/tool" />
<xsd:import namespace="http://www.springframework.org/schema/integration"
schemaLocation="http://www.springframework.org/schema/integration/spring-integration-2.0.xsd" />
<xsd:import namespace="http://www.springframework.org/schema/integration" schemaLocation="http://www.springframework.org/schema/integration/spring-integration-2.0.xsd" />
<xsd:annotation>
<xsd:documentation><![CDATA[
@@ -52,8 +49,7 @@
specified (but not both).
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type
type="org.springframework.jdbc.core.JdbcOperations" />
<tool:expected-type type="org.springframework.jdbc.core.JdbcOperations" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
@@ -67,7 +63,7 @@
share the same
database tables. The default
is "DEFAULT".
</xsd:documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="table-prefix" type="xsd:string">
@@ -89,8 +85,7 @@
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type
type="org.springframework.jdbc.support.lob.LobHandler" />
<tool:expected-type type="org.springframework.jdbc.support.lob.LobHandler" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
@@ -109,23 +104,8 @@
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="jdbcType">
<xsd:extension base="selectType">
<xsd:sequence>
<xsd:element name="query" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
A select query to execute when a message is
polled. In general
the query can return multiple
rows, because
the result will be a List (of type determined by the
row
mapper).
</xsd:documentation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="update" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:appinfo>
@@ -138,45 +118,8 @@
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element ref="integration:poller" minOccurs="0"
maxOccurs="1" />
<xsd:element ref="integration:poller" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="query" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
A select query to execute when a message is
polled. In general the query can return multiple
rows, because
the result will be a List (of type determined by the row
mapper). The query can also be specified as a nested element.
</xsd:documentation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="row-mapper" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to a row mapper to use to convert
JDBC result set rows to message payloads.
Optional
with default
that maps
result set row to a map (column name to column value).
Other simple
use cases can
be handled
with out-of-the box
implementations from Spring JDBC. Others require a custom row
mapper.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.jdbc.core.RowMapper" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="update" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
@@ -184,13 +127,12 @@
An update query to execute when a message is
polled. If the poll is in a transaction then the
update will
roll back if the transaction does. The update can also be specified as a nested element.
</xsd:documentation>
roll back if the transaction does. The update can also be specified as a nested element.
</xsd:documentation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="update-per-row" type="xsd:boolean"
default="false">
<xsd:attribute name="update-per-row" type="xsd:boolean" default="false">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
@@ -207,7 +149,8 @@
<xsd:appinfo>
<xsd:documentation>
Limits the number of rows extracted per query (otherwise all rows
are extracted into the outgoing message).
are extracted into the
outgoing message).
</xsd:documentation>
</xsd:appinfo>
</xsd:annotation>
@@ -220,23 +163,42 @@
sent.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type
type="org.springframework.integration.core.MessageChannel" />
<tool:expected-type type="org.springframework.integration.core.MessageChannel" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="sql-query-parameter-source" type="xsd:string">
<xsd:attribute name="update-sql-parameter-source-factory" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to a SqlParameterSource for the SELECT query used for polling. If
that query has placeholders (e.g. "SELECT * from FOO where KEY=:key") they
Reference to a SqlParameterSourceFactory. The input is the result of the
query. The
default factory creates a bean
property parameter source that treats a List in a special
way: the List is
assumed to contain entities with a field called
"id" and these are collected and copied to a field in the
parameter
source called "idList".
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.jdbc.SqlParameterSourceFactory" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="select-sql-query-parameter-source" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to a static SqlParameterSource for the SELECT query used for polling. If
that query has
placeholders (e.g. "SELECT * from FOO where KEY=:key") they
will be bound from this source by name.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type
type="org.springframework.jdbc.core.namedparam.SqlParameterSource" />
<tool:expected-type type="org.springframework.jdbc.core.namedparam.SqlParameterSource" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
@@ -255,37 +217,20 @@
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="jdbcType">
<xsd:sequence>
<xsd:element name="query" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
An SQL update query to execute (INSERT,
UPDATE
or DELETE). Bean properties of the outgoing
message can be
referenced in named parameters, e.g. "INSERT into FOOS (ID,
NAME) values (:headers[business.key],
:payload)". More complex
requirements can be implemented by specifying a sql-parameter-source-factory.
</xsd:documentation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="query" type="xsd:string">
<xsd:extension base="queryType">
<xsd:attribute name="sql-parameter-source-factory" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
An SQL update query to execute (INSERT,
UPDATE
or DELETE). Bean properties of the outgoing
message can be
referenced in named parameters, e.g. "INSERT into FOOS (ID,
NAME) values (:headers[business.key],
:payload)". The query can also be specified as a nested element.
</xsd:documentation>
Reference to a SqlParameterSourceFactory. The input is the whole
outgoing message. The
default factory creates a bean
property parameter source so the query can specify named
parameters like :payload and :headers[foo].
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.jdbc.SqlParameterSourceFactory" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
@@ -299,8 +244,7 @@
to be executed.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type
type="org.springframework.integration.core.MessageChannel" />
<tool:expected-type type="org.springframework.integration.core.MessageChannel" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
@@ -310,6 +254,100 @@
</xsd:complexType>
</xsd:element>
<xsd:element name="outbound-gateway">
<xsd:annotation>
<xsd:documentation>
Defines an outbound Channel Gateway for updating a
database in response to a message on the request
channel and getting a response
on the reply channel.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="selectType">
<xsd:sequence>
<xsd:element name="update" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
An update query to execute when a message is
received. If this is in a transaction then the
update will
roll back when the transaction does.
</xsd:documentation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="update" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
An update query to execute when a message is
received. If this is in a transaction then the
update will
roll back when the transaction does. The update can also be specified as a nested element.
</xsd:documentation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="request-sql-parameter-source-factory" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to a SqlParameterSourceFactory. The input is the whole
outgoing message. The
default factory creates a bean
property parameter source so the query can specify named
parameters like :payload and :headers[foo].
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.jdbc.SqlParameterSourceFactory" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="reply-sql-parameter-source-factory" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to a SqlParameterSourceFactory. The input is the whole
outgoing message. The
default factory creates a bean
property parameter source so the query can specify named
parameters like :payload and :headers[foo].
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.jdbc.SqlParameterSourceFactory" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="request-channel" type="xsd:string" use="required">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.integration.core.MessageChannel" />
</tool:annotation>
</xsd:appinfo>
</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.integration.core.MessageChannel" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="request-timeout" type="xsd:string" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="jdbcType">
<xsd:attribute name="data-source" type="xsd:string">
<xsd:annotation>
@@ -345,29 +383,74 @@
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="sql-parameter-source-factory" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to a SqlParameterSourceFactory. For an
inbound adapter the input is the result of the
query, and for an
outbound adapter the input is the whole outgoing message. The
default factory creates a bean
property parameter source for a
generic input (like a Message), and treats a List in a special
way: the List is
assumed to contain entities with a field called
"id" and these are collected and copied to a field in the
parameter source called "idList".
</xsd:complexType>
<xsd:complexType name="queryType">
<xsd:complexContent>
<xsd:extension base="jdbcType">
<xsd:sequence>
<xsd:element name="query" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
A select query to execute when a message is
polled. In general
the query can return multiple
rows, because
the result will be a List (of type determined by the
row
mapper).
</xsd:documentation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="query" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
A select query to execute when a message is
polled. In general the query can return multiple
rows, because
the result will be a List (of type determined by the row
mapper). The query can also be specified as
a nested element.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type
type="org.springframework.integration.jdbc.SqlParameterSourceFactory" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="selectType">
<xsd:complexContent>
<xsd:extension base="queryType">
<xsd:attribute name="row-mapper" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<xsd:documentation>
Reference to a row mapper to use to convert
JDBC result set rows to message payloads.
Optional
with default
that maps
result set row to a map (column name to column value).
Other simple
use cases can
be handled
with out-of-the box
implementations from Spring JDBC. Others require a custom row
mapper.
</xsd:documentation>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.jdbc.core.RowMapper" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>