7

SpringXML構成ファイルでSpringIntegrationを使用するには、si名前空間を宣言し、XMLスキーマのスキーマの場所を指定する必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:int="http://www.springframework.org/schema/integration"
   xsi:schemaLocation="http://www.springframework.org/schema/integration
      http://www.springframework.org/schema/integration/spring-integration.xsd
      http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd">

ただし、ドキュメントによると、選択できるスキーマは2つあります。

今後、ユーザーは常に最新のXMLスキーマ(現在はバージョン2.1)を宣言する必要があります。または、バージョンのないスキーマを使用することもできます。一般に、バージョンのない名前空間を使用するのが最善のオプションです。これらの名前空間は、利用可能な最新バージョンのSpringIntegrationを自動的に使用するためです。

差出人:http ://static.springsource.org/spring-integration/reference/htmlsingle/#2.1-schema-updated

なぜとの両方があるのspring-integration.xsdですspring-integration-2.1.xsdか?両方を確認したところ、後者は前者のほぼ3倍の大きさです。

では、なぜドキュメントはバージョンのないスキーマを使用する方が良いと言っているのでしょうか?どちらか一方を使用するとどうなりますか?それとも、それは単なるバグでspring-integration.xsdありspring-integration-2.1.xsd、異なるのでしょうか?

4

1 に答える 1

7

インターネット上でホストされているスキーマを見るべきではありません。スキーマは jar で配布されます。META-INF の下にもマッピング ファイルがあります。

以下に示すように、バージョンのないスキーマを常に現在のスキーマにマップします。そのため、アプリケーション構成では常にバージョンレス スキーマを使用することをお勧めします。そうしないと、アップグレードするたびにファイルを変更する必要があります。たとえば、2.2 は 2.1 スキーマでは実行されませんが、スキーマでバージョンを使用しない場合は、フレームワークが適切なバージョンを使用します。

インターネット上のバージョンのないスキーマは古い 1.0 スキーマです。どうすればそれを変えることができるかを理解する必要がありますが、さまざまな理由から簡単ではありません。

http\://www.springframework.org/schema/integration/spring-integration-1.0.xsd=org/springframework/integration/config/xml/spring-integration-1.0.xsd http\://www.springframework.org/schema/integration/spring-integration-2.0.xsd=org/springframework/integration/config/xml/spring-integration-2.0.xsd http\://www.springframework.org/schema/integration/spring-integration-2.1.xsd=org/springframework/integration/config/xml/spring-integration-2.1.xsd http\://www.springframework.org/schema/integration/spring-integration.xsd=org/springframework/integration/config/xml/spring-integration-2.1.xsd

于 2012-06-21T12:38:50.023 に答える